Answer the question
In order to leave comments, you need to log in
How to download a zip file from a server?
It is necessary to download the archived file in zip format through the interface.
Server Side Express.js + Node.js
//В пост запросе принимается название файла
router.post("/getDownloadFile", async function (req, res){
// Далее указываю путь до файла
const file = `${__dirname}/../files/${req.body.fileName}`;
// Устанавливаю заголовок, что это сохранение файла
res.setHeader('Content-disposition', 'attachment; filename=' + req.body.fileName + '.zip');
//Отправляю этот файл
res.download(file);
});
// В запросе передаю название файла file
axios.post(`${config.url}/exchange/getDownloadFile`, {fileName: file}, {headers: {
'responseType': 'blob'
}
}).then(function (response) {
// Создаю url с полученными данными файла
const url = window.URL.createObjectURL(
new Blob([response.data], {type: "application/zip"}),
);
// Создаю элемент ссылки
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', file,);
document.body.appendChild(link);
// Запускаю клик по ссылке
link.click();
// Удаляю ссылку
link.parentNode.removeChild(link);
})
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question