我想在下载文件时显示进度条。 我正在使用带有HttpClient的角度4。
没有AOT 我成功地在chrome和Firefox上显示进度条。
使用AOT 我成功只使用chrome显示进度条但不在Firefox中显示。
我的代码
downloadFile(fileName) {
const headers = new HttpHeaders({'Upgrade-Insecure-Requests': '1'});
const req = new HttpRequest('GET', 'some-url', {
reportProgress: true,
headers: headers,
responseType: 'blob'
});
this.http.request(req).subscribe(event => {
if (event.type === HttpEventType.DownloadProgress) {
this.progressPercentage = Math.round(100 * event.loaded / event.total);
} else if (event instanceof HttpResponse) {
const data = new Blob([event.body]);
FileSaver.saveAs(data, fileName);
}
},
this.onDownloadError.bind(this)); };