Я разрабатываю узел JS, угловой 5 приложений.
У меня есть функция для загрузки файлов. Мой код работает для небольших файлов, но для больших файлов, таких как .zip с 2 ГБ, я могу загрузить их, но через долгое время и не могу сразу увидеть индикатор выполнения загрузки, когда нажимаю на кнопку загрузки (isee it после загрузки начинается) и иногда у меня навигатор вылетает.
это мой бэкэнд код:
downloadFile(req, res) {
log.info("Begin method 'download file' ");
var file = req.body;
return DB.sequelize.transaction({ isolationLevel: DB.sequelize.Transaction.ISOLATION_LEVELS.READ_UNCOMMITTED }, (t) => {
const filePath = 'C:\Users\a\files';
res.sendFile(resolve(filePath));
log.info("End method 'download file' ");
}).then((result) => {
// Transaction has been committed
}).catch((err) => {
log.error(err);
// Transaction has been rolled back
});
}
Это мой сервис на стороне Frontend:
downloadFile(file): Observable<Blob> {
return this.http.post(`${this.Url}/download`, file, { responseType: 'blob'}) }
Это мой компонент Fonctionnality:
downloadFile(file) {
this.dataService.downloadFile(file).subscribe(data => {
saveAs(data, file.name);
})
}
Заранее спасибо