angular - 由于解析为 JSON,从 API 加载文件导致错误
问题描述
我正在从 API 加载 xlsx 文件。但是加载会导致错误,因为 Angular 尝试将主体解析为 JSON。
如果我直接向请求提供这样的响应类型,它就可以工作:
this.http.get(this.url + "/getExcel",{responseType:'blob'});
但在我的后端,我还需要授权。如果我给请求一个 HttpHeaders 对象,它就不起作用:
const headers = new HttpHeaders({
responseType:'blob',
'Content-Type': 'application/json',
'Authorization': this.authService.getToken()
})
this.http.get(this.url + "/getExcel",{headers});
我认为以上两者都应该这样做。不应该吗?
解决方案
你组合了错误的东西。你应该做这个:
const headers = new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': this.authService.getToken()
})
this.http.get(this.url + "/getExcel",{
headers,
responseType: 'blob'
});
推荐阅读
- python - Python-MySql ImportError:没有名为“MySQL”的模块
- r - 使用ggplot2将饼图的百分比标签放在图例中
- google-sheets - 谷歌表格查询输出日期列中连续值的差异
- symfony - Doctrine QueryBuilder 的问题
- python - 如何使用 VS 代码 - Python Shell
- firebase - 关闭应用程序时,Firebase FIrestore 侦听器是否取消订阅?
- forms - 播放 - 带有自定义错误消息的自定义验证
- list - 从列表中获取项目作为 Ansible 中的字符串
- reactjs - React 重置按钮中的井字游戏不起作用
- spring-boot - rsocket 使用 RSocket-Java 为 Spring Rsocket Server 路由元数据