Я новичок в компонентах React, и я пытаюсь загрузить файлы из своей папки на Google Диске, после долгого времени, в течение которого я работаю со своим API для загрузки и получения файлов. Мой вопрос: как мне передать данные для загрузки файла на моем интерфейсе?
Как я могу получить файлы с моего диска Google и загрузить на реагирующий компонент?
Заранее спасибо, и извините за мое объяснение, я не знаю, что я сейчас делаю с файлом.
Примечание. Этот код приведен в качестве примера для загрузки изображения. Я хочу передать идентификатор файла для загрузки чего угодно, pdf, docs, png и т. д.
Обновление: после того, как я попробовал разные решения, моя функция API была завершена следующим образом:
google_Ctrl.getDownload = async(req, res) => {
console.log(req.params);
let Google = await drive.files.get(
{fileId: req.params.id,
alt: 'media'},
{ responseType: 'stream' }
).then((request) => {
console.log(request);
fileType = request.headers['content-type'];
fileName = ( "file" + '.' + fileType );
fileData = request.data;
res.set(request.headers)
// res.set("Content-Type", fileType);
// res.set("Content-Disposition", "attachment; filename='archivo.png'");
fileData.pipe(res)
});
}
Моя функция в настоящее время работает, когда я использую api.rest для отправки запроса GET, они предоставляют мне мои файлы. Но теперь моя проблема связана с компонентом React, я прочитал много сообщений, но не нашел решения, в настоящее время я использую downloadjs, пытаясь это решение, безуспешно.
const DownloadFile = () => {
axios.get(process.env.REACT_APP_API_URL + 'google/download/' + "1YtDWD9hNEgCUi8YGQPjV98sULhyM5m8C")
.then((res) => {
console.log(res);
// res.blob()
// fileDownload(res.data, 'filename.png');
download(res.data, "file.png", res.headers['content-type']);
}).catch((error) =>{
console.error(error);
message.error('upload failed.');
});
}
Это моя функция загрузки в компоненте React, мои файлы .txt работают, но когда я пытаюсь загрузить файлы pdf, docs, xlsx и т. д., они не работают, что я могу сделать? С помощью Api.rest я проверил свою функцию API, и она работает, я могу загружать свои файлы из api.rest, но мои функции реагирования, по-видимому, плохо отформатированы, я думаю.