на лету csv и отправляет его с помощью Stream Httpresponse.
Если сделать запрос на API через адресную строку Хрома то файл грузится как надо.
Есть вариант через axios:
axios({
url: 'http://localhost:5000/static/example.pdf',
method: 'GET',
responseType: 'blob', // important
}).then((response) => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'file.pdf');
document.body.appendChild(link);
link.click();
});
но фронт ждет пока загрузится полный файл и только потом его отдает на загрузку.
Другой вариант StreamSaver.js
но тут нужно дополнительно поднимать сервис на бэкенде.
какие еще есть способы загрузить потоковый файл?
на ноде можно поток читать и отдавать кусками вроде как
Обсуждают сегодня