Angular 5从web api ClosedXml下载excel文件
我正在尝试在angular应用程序中下载由web api生成的excel文件。应用程序最初是用angularJS编写的,在那里一切都很好。现在,我正在将应用程序迁移到Angular 5,它也可以正常工作,但我收到一个错误消息:类型“arraybuffer”不可分配给类型“json” 它使用HttpClientAngular 5从web api ClosedXml下载excel文件,angular,http,Angular,Http,我正在尝试在angular应用程序中下载由web api生成的excel文件。应用程序最初是用angularJS编写的,在那里一切都很好。现在,我正在将应用程序迁移到Angular 5,它也可以正常工作,但我收到一个错误消息:类型“arraybuffer”不可分配给类型“json” 它使用HttpClient this.http.post<any>(`${this.appConfig.api}/users`, users, {responseType: 'arraybuffer'})
this.http.post<any>(`${this.appConfig.api}/users`, users, {responseType: 'arraybuffer'})
.subscribe(
(next: ArrayBuffer) => {
console.log(next);
const file: Blob = new Blob([next], { type: 'application/xlsx' });
saveAs(file, `Rapport users.xlsx`);
}
)
this.http.post(`${this.appConfig.api}/users`,users,{responseType:'arraybuffer'})
.订阅(
(下一步:ArrayBuffer)=>{
console.log(下一步);
常量文件:Blob=newblob([next],{type:'application/xlsx'});
saveAs(文件,`Rapport users.xlsx`);
}
)
如何消除该错误?将{responseType:'arraybuffer'}更改为{responseType:'arraybuffer'作为'json'}从angular文档中尝试一下
你能从http post请求中删除{responseType:'arraybuffer'}吗?如果我删除它,请检查excel文件是否已损坏
this.http.get(`${this.appConfig.api}/users`, {responseType: 'blob'})
.subscribe(
(data) => {
console.log(data);
const file: Blob = new Blob([data], { type: 'application/xlsx' });
saveAs(file, `Rapport users.xlsx`);
}
)