我想用FileSaver从Rest API下载文件。在Content-Disposition中的响应头中,我有filename。如何在angular中读取标题?当我这样设置我的服务时:
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}时,才会出现错误,所以我找不到解决方案。
发布于 2019-11-22 01:00:00
我认为问题在于,当您请求响应时,它不仅仅是数据。因此,当您尝试将其直接传递给filesaver时,它会抛出一个异常。
我想这可能行得通?
this.packageService.getPdf().subscribe(
response => {
saveAs(response.body);
}
);https://stackoverflow.com/questions/58979439
复制相似问题