Я реализовал загрузку файла в angular 5, используя код в ответе здесь:
загрузка файла с помощью filesaver или windows.url
У меня есть возвратная пружина-end, который отправляет объект ответа http, который имеет байтовый массив файла как тело и тип содержимого, расположение содержимого и длина содержимого.Я должен был разрешить открывать заголовки, и я мог получить заголовки.Как я могу использовать его, чтобы показать размер загружаемого файла в браузере во время загрузки?Это API, в котором я установил размер, и браузер покажет его при загрузке файла.
Код для получения файла отчета из серверной части:
this.dataService.getReportFile(this.reportForm.get('date').value, params).subscribe(resp => {
let filename = resp.headers.get("content-disposition").split(';')[1].split('filename')[1].split('=')[1].trim();
this.downloadFile(resp.headers.get("content-length"), resp.body, resp.headers.get("content-type"), filename);
});
Код для загрузки файла:
downloadFile(fileSize: string, data: any, reportType: any, fileName: any) {
const blob = new Blob([data], { type: reportType });
FileSaver.saveAs(blob, fileName);
}
Как вы видите, я передаю fileSize здесь, но теперь уверен, как его использовать, чтобы браузер отображал размер файла.