将HTTP responseType设置为arraybuffer

时间:2018-08-10 12:27:53

标签: javascript typescript jhipster arraybuffer

在构建一个jhipster项目时遇到错误,说我需要在responseType请求中更改参数get

这是错误:

  

类型'{responseType:“ arraybuffer”; }'不可分配给类型'{headers ?: HttpHeaders | {[header:string]:字符串|串[]; };观察?参数?:Ht ...'。     属性“ responseType”的类型不兼容。       类型'“ arraybuffer”'不能分配给类型'“ json”'。   版本:打字稿2.7.2

您看到typescript告诉我将值从arraybuffer更改为json,但由于我正在处理文件,因此我需要将其保留为arraybuffer并且我完全知道responseType可以设置为arraybufferblobjsontext

这是代码

showfile(file?: any): Observable<any> {
    return this.http.get<any>(SERVER_API_URL + `leave/api/downloadFile/${file}`, { responseType: 'arraybuffer' });
}

2 个答案:

答案 0 :(得分:1)

this.http.get<any>

删除所有

答案 1 :(得分:0)

当我需要调用返回文件的端点时,通常使用类型Observable<HttpResponse<Blob>>

尝试:

showfile(file?: any): Observable<HttpResponse<Blob>> {
    return this.http.get(SERVER_API_URL + `leave/api/downloadFile/${file}`, { responseType: 'blob' });
}