【发布时间】:2019-05-14 11:00:36
【问题描述】:
我在我的 Angular 应用程序中创建了一个 REST API 调用,用于下载文件。
我将 responseType 设置为“blob”,因为我期待一个文件作为响应。
但是当服务器上没有可用的文件时,响应的错误代码为 404,即错误请求,正文中有一些消息。
但我无法解析来自正文的错误消息,因为 HttpErrorResponse 在 error.error 中提供了一个 blob 对象
如何从错误对象而不是 blob 中获取实际正文。
还有什么方法可以配置角度,在 api 调用成功时解析 blob 中的请求,否则在 json 中解析它???
期待解决
【问题讨论】:
-
你试过 {responseType: 'blob' as 'json'}.?
-
当您从 API 获取数据时,如果它是有效文件,那么
responseType是什么,如果是错误,那么 responseType 是什么?它们是否不同,例如:对于有效文件:'application/octet-stream'和对于错误:'application/json'? -
你试过
error.error.toString()吗? -
通过 responseType 我正在考虑 contentType 标头作为响应。因此,当响应正确且文件二进制响应时,内容类型为 content-type: application/octet-stream 并且出现错误且仅出现错误字符串时为“content-type: text/plain”。 @xyz
-
error.error.toString() 正在输出 [object Blob] @PierreDuc
标签: javascript angular angular-httpclient