我正在从ASP.NET WEBAPI下载文件。该API立即返回FileStreamResult
,而无需等待从Azure存储中接收整个文件。
现在我正在使用以下Angular代码获取文件:
downloadFile(fileId, fileName) {
this.http.get(Endpoints.fileUploadEndpoint + '/' + fileId, {
responseType: 'blob'
}).subscribe(blob => {
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = fileName;
link.click();
});
它可以工作,但是它会等待在后台下载整个文件,然后才实际在浏览器中将其下载到subscribe
部分,以便用户可以看到它。我还需要一种从用户角度自动开始下载的方式。
我的意思是在浏览器中开始下载并显示进度和所有内容。