我正在调用获取blob数据的API。
后端还向我发送标题中的文件名。
我的实际问题是我无法从api获得标题。
这是 service.ts
public openFile(path) {
let url='/download/';
let pathFile= new HttpParams().set('pathFile', path);
return this.httpClient.get(url,{params:pathFile, responseType: 'blob' });
并在 component.ts 中调用该服务。当我尝试打印res.headers
时,我在控制台中未定义。
openFile(path){
this.creditPoliciesService.openFile(path).toPromise().then (data => {
console.log("dataaaaaa",data.headers); // undefined
var blob = new Blob([data], {type: 'application/pdf'});
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob);
}
else {
var fileURL = URL.createObjectURL(blob);
window.open(fileURL);
}
});
}
在开发工具管理员中,我在响应标题中获取了信息,但我无法在响应变量中找到它们。
答案 0 :(得分:3)
传递具有'response'值的observe键以获得完整的响应
getData() {
this.http.get(this.url, { observe: 'response' }).subscribe(res => {
this.headerProperty = res.headers.get('property name here');
});
}