如何使用rxjs从后端api获取头属性?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用rxjs从后端api获取头属性?相关的知识,希望对你有一定的参考价值。
我从后端获取文件流。标头保留带扩展名的文件名。但是如何在最后获得这些财产。这是我的代码,没有得到值也没有错误。
downloadFile(id:number):Observable<any> {
const options = { responseType: 'blob' as 'json' }
return this.http.get<any>(environment.baseUrl+`CourseFileUpload/${id}`, options)
.pipe(
map((file) => {
console.log('header', file.headers('Content-Disposition')); //not getting header value...!?
return new Blob([file], {type: "application/octet-stream"})
}),
catchError(this.handleError)
)
}
任何人帮助我?
我尝试过如下建议:
downloadFile(id:number):Observable<any> {
const headers = new HttpHeaders({ observe: 'response'});
const options = { responseType: 'blob' as 'json', headers:headers }
return this.http.get<any>(environment.baseUrl+`CourseFileUpload/${id}`, options )
.pipe(
map(resp => {
if(resp.headers){
const keys = resp.headers.keys();
console.log('file', keys); //nothing consoles!?
}
return new Blob([resp], {type: "application/octet-stream"})
}),
catchError(this.handleError)
)
}
没有回应。请任何人帮我获得回复标题?
答案
从documentation您需要将observe: 'response'
添加到选项中以访问完整的响应对象。
以上是关于如何使用rxjs从后端api获取头属性?的主要内容,如果未能解决你的问题,请参考以下文章
如果你有 apollo react 钩子从后端获取数据,你如何使用 nextjs 进行服务器端渲染?