如何从Angular中的http.get调用中以流形式下载文件?

时间:2018-11-16 15:17:30

标签: angular asp.net-web-api angular-httpclient

我正在从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部分,以便用户可以看到它。我还需要一种从用户角度自动开始下载的方式。

我的意思是在浏览器中开始下载并显示进度和所有内容。

0 个答案:

没有答案