使用FileSaver下载文件

阿德里安·雅金斯基(AdrianJaczyński)

我想使用FileSaver从Rest API下载文件。在Content-Disposition中的响应标头中,我有文件名。我怎样才能以角度读取标题?当我这样设置服务时:

getPdf() {
return this.httpClient.get(this.url, {responseType: 'blob'}); } 

我可以下载文件而没有任何问题,但是当我想另外设置{observe:'response'}以读取选项中的标头时,我的浏览器中有错误。

ERROR TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.
at saveAs (FileSaver.js:112)

我保存文件的功能:

this.packageService.getPdf().subscribe(
  pdf => {
     saveAs(pdf);
  }
);

我在后端添加了Access-Control-Expose-Headers,仅当我添加{observe}时出现错误,所以我无法为此找到解决方案。

Fulya D.

我认为问题在于,当您请求响应时,不仅是数据。因此,当您尝试将其直接传递给filesaver时,它将引发异常。

我认为这可能有效吗?

this.packageService.getPdf().subscribe(
  response => {
     saveAs(response.body);
  }
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章