[英]Set HTTP responseType as arraybuffer
I facing an error while building a jhipster project that says that I need to change the parameter responseType
in a get
request. 我在构建一个jhipster项目时遇到错误,该项目说我需要在get
请求中更改参数responseType
。
Here's the error: 这是错误:
Argument of type '{ responseType: "arraybuffer"; 类型'{responseType:“ arraybuffer”; }' is not assignable to parameter of type '{ headers?: HttpHeaders | }'不可分配给类型'{headers ?: HttpHeaders | { [header: string]: string | {[header:string]:字符串| string[]; 串[]; }; }; observe?: "body"; 观察? params?: Ht...'. 参数?:Ht ...'。 Types of property 'responseType' are incompatible. 属性“ responseType”的类型不兼容。 Type '"arraybuffer"' is not assignable to type '"json"'. 类型'“ arraybuffer”'不能分配给类型'“ json”'。 Version: typescript 2.7.2 版本:打字稿2.7.2
As you see typescript
is telling me to change the value from arraybuffer
to json
, but I need to keep it as arraybuffer
since I am dealing with a file and I fully aware that the responseType
can be set to arraybuffer
, blob
, json
or text
. 如您所见, typescript
告诉我将值从arraybuffer
更改为json
,但是由于我正在处理文件,因此我需要将其保留为arraybuffer
,我完全知道responseType
可以设置为arraybuffer
, blob
, json
或text
。
Here's the code 这是代码
showfile(file?: any): Observable<any> {
return this.http.get<any>(SERVER_API_URL + `leave/api/downloadFile/${file}`, { responseType: 'arraybuffer' });
}
this.http.get<any>
删除任何
When I need to call an endpoint that is returning a file, I usually use the type Observable<HttpResponse<Blob>>
. 当我需要调用返回文件的端点时,通常使用Observable<HttpResponse<Blob>>
。
Try: 尝试:
showfile(file?: any): Observable<HttpResponse<Blob>> {
return this.http.get(SERVER_API_URL + `leave/api/downloadFile/${file}`, { responseType: 'blob' });
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.