我正在开发一个Angular 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[]
});
}
当后端应用程序处于特定状态时,它会返回一个包含 RemoteError
数组的 error
字段的 HttpErrorResponse
,而不是返回一个 Blob。 RemoteError 是我编写的用于处理远程错误的接口。
在 catch 函数中,error.error
是一个 Blob。我该如何将 Blob 属性转换为一个 RemoteError[]
数组呢?
谢谢你的帮助。