angular - 在 Angular 4 中将标头添加到 http.get 时出错
问题描述
我正在尝试以下代码:
let myHeader = new HttpHeaders();
myHeader.append("Authorization", Token);
return this.http
.get(this.service.GetDomainPrefix() + "Source/Download/" + id,
{
headers: myHeader, responseType: ResponseContentType.Blob
}).map(res => {
return {
filename: name + '.mp4',
data: res.blob()
};
})
但出现以下错误:
'{headers: HttpHeaders; 类型的参数 responseType:ResponseContentType.Blobl;}' 不可分配给“RequestOptionsArgs”类型的参数。类型“HttpHeaders”不可分配给类型“Headers”
问题仅在于标题,因为没有它就没有错误。如何在我的获取请求中添加头部?
解决方案
这可能是因为您使用的是HttpModule
(angular 2,4) 而不是新的HttpClientModule
(angular 4,5,6) (以及Http
类而不是HttpClient
类)
此外,HttpHeaders 是不可变的。要使用新的 HttpClientModule,请使用此代码
import {HttpClient, HttpHeaders} from '@angular/common/http';
constructor(private http: HttpClient){}
//...
let myHeader = new HttpHeaders().append("Authorization", Token);
return this.http
.get(this.service.GetDomainPrefix() + "Source/Download/" + id,
{
headers: myHeader, responseType: 'blob'
})
.map(res => {
filename: name + '.mp4',
data: res
})
你需要修改你AppModule
的导入HttpClientModule
而不是HttpClient
推荐阅读
- javascript - SecurityError:当访问 iFrame 的信息时,访问跨域对象上的属性“文档”的权限被拒绝
- reactjs - 如何使用自定义字段数据而不是 react-stripe-elements
- javascript - 如何使用 React MaterialUI 将分页添加到长列表中?
- xhtml - 在 epub XHTML 中为 href 注册自定义 URI 方案
- azure-artifacts - 从 azure 源中检索 Azure 工件的最新版本
- c++ - WinHTTP Async 的句柄是否需要关闭?
- corda - 尝试通过流将状态对象发送到另一个节点
- python-3.x - Python中基于空间聚类方法填充缺失值
- python - 如何在py中循环循环以获取字典
- python - aiohttp 设置每秒请求数