С фронтенда (React) отправляю fetch-запрос на сервер для скачивания определённого файла. В этой же функции получаю response со статусом 200.
Исходный код функции на фронтенде:
downloadFileFromServer(fileName) {
fetch(`${Config.baseUrl}/download/${this.state.id}/${fileName}`, {
method: 'GET'
})
.then((response) => {
if (response.status >= 400) {
throw new Error('Bad response from server');
}
return response.url;
});
}
Исходный код функции на сервере (Node + Express):
app.route('/download/:id/:fileName')
.get((req, res) => {
const dir = `${Config.basePath}/${req.params.id}/${req.params.fileName}`;
res.download(dir);
});
То, что содержится в response:
Response {type: "cors", url: "http://127.0.0.1:3000/download/268/%D0%BA%D0%BE%D0%BF%D0%B8%D1%8F).docx", redirected: false, status: 200, ok: true, …} body: (...) bodyUsed: false headers: Headers {} ok: true redirected: false status: 200 statusText: "OK" type: "cors" url: "http://127.0.0.1:3000/download/268/%D1%83%D0%B3%D0%B0%D1%8F%20%D0%BA%D0%BE%D0%BF%D0%B8%D1%8F).docx" proto: Response
Как правильно скачать нужный файл? Я пробовал:
Скачивание (и соответственно выполнение функции downloadFileFromServer) выполняется при нажатии на ссылку (ссылка в теге a)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть скрипт который передает при клике заголовок ссылки в инпут
Пишу проект на симфони 4 и не могу подключить Plugin Javascript MarkitupEditor в других проектах пробывал и подключеться с лекгостьюДело в том что использываю...
У меня задание, вывести на экран сумму всех чисел, расположенных в числовом промежутке от Х до У
Такая проблема, делаю верстку на флексбокс, а элементы вылезают за пределы блока, как это исправить?