【发布时间】:2019-12-20 15:01:03
【问题描述】:
我正在尝试将服务器响应内容下载为 csv。在做同样的事情时,我遇到了 2 个错误。
方法如下:
generateCsv(exportModel: any) {
let headers={};
return this.http.post<any>(ReportConstant.exportApi, exportModel,
{ observe:"response",responseType: 'blob'})
}
错误:
src/app/components/export/_services/export.service.ts(22,91) 中的错误:错误 TS2322:类型“响应”不可分配给类型 '“身体”'。
src/app/components/export/_services/export.service.ts(22,110):错误 TS2322:类型“blob”不可分配给类型“json”。
我对前端技术非常陌生。请建议我解决问题的解决方案。
【问题讨论】:
-
为什么要使用 POST 调用来获取数据?它应该是一个 GET。还有
exportModel的类型是什么? -
你能试试把
responseType: 'blob'改成responseType: 'blob' as 'json'吗? -
让 headers = data.headers;让 contentDisposition= headers.get('content-disposition'); let filename = contentDisposition.split(';')[1].split('filename')[1].split('=')[1].trim();
-
这是我在尝试添加 responsetype 时出现错误的区域:'blob' as 'json'。
-
@Arcteezy : 你能提供 Angular 8 GET 方法的语法吗?