角度5管理具有BLOB响应和JSON错误的http get [英] Angular 5 manage http get with blob response and json errors
本文介绍了角度5管理具有BLOB响应和JSON错误的http get的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在开发一个角度5的应用程序。我必须从我的后端应用程序下载一个文件,为此,我只需调用如下函数:
public executeDownload(id: string): Observable<Blob> {
return this.http.get(this.replaceUrl('app/download', denunciaId), {responseType: 'blob'}).map(result => {
return result;
});
}
要调用我刚才调用的下载服务:
public onDownload() {
this.downloadService.executeDownload(this.id).subscribe(res => {
saveAs(res, 'file.pdf');
}, (error) => {
console.log('TODO', error);
// error.error is a Blob but i need to manage it as RemoteError[]
});
}
当后端应用程序处于特定状态时,它返回的不是Blob,而是其error
字段中包含RemoteError数组的HttpErrorResponse
。RemoteError是我编写用于管理远程错误的接口。
在catch函数中,error.error是一个Blob。如何将Blob属性转换为RemoteError[]
数组?
提前谢谢您。
推荐答案
在文档中,"从Blob读取内容的唯一方法是使用文件阅读器。"https://developer.mozilla.org/en-US/docs/Web/API/Blob。
编辑: 如果您需要BLOB的一部分,您可以执行切片,这将返回新的BLOB, 然后使用文件读取器。
这篇关于角度5管理具有BLOB响应和JSON错误的http get的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文