我正在从一个asp.net webapi下载一个文件。API返回
FileStreamResult
立即,无需等待从azure存储接收整个文件。
现在我用这个角度代码来获取文件:
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
当它在浏览器中下载到用户可以看到的地方时,就停止了。我也需要一种从用户的角度自动开始下载的方式。
我的意思是在浏览器中开始下载并显示进度和一切。