【发布时间】:2018-12-05 06:33:48
【问题描述】:
我正在创建一个使用 REST api 来下载文件的应用程序。当你点击它时,api 会立即返回文件。所以我使用以下逻辑来获取文件:
downloadFile(file) {
this.service.downloadFile(file.id).subscribe((fileData) => {
const a = document.createElement('a');
document.body.appendChild(a);
const blob = new Blob([data], { type: data.type });
const url = window.URL.createObjectURL(blob);
a.href = url;
a.download = file.name;
a.click();
window.URL.revokeObjectURL(url);
});
}
上面的代码完美运行。但是,当整个文件下载完成时,它会在浏览器中下载文件,即您不会在浏览器中看到文件下载的进度(我们通常在 Chrome 中下载文件时通常会看到)。您可以在控制台的“网络”选项卡中看到它正在下载文件,但仅在下载整个文件时才会显示。 谁能告诉我如何强制它在浏览器中下载以显示进度?
【问题讨论】:
标签: angular