我想使用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}时出现错误,所以我无法为此找到解决方案。
我认为问题在于,当您请求响应时,不仅是数据。因此,当您尝试将其直接传递给filesaver时,它将引发异常。
我认为这可能有效吗?
this.packageService.getPdf().subscribe(
response => {
saveAs(response.body);
}
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句