文件预览或下载中,axios设置responseType:blob时对于后台报错信息的捕获兼容;

接口返回blob和json两种格式时,前端怎么处理
文件预览或下载中,axios设置responseType:blob时对于后台报错信息的捕获兼容,如果response.data.type是application/octet-stream,处理流数据及进行下载,如果是application/json,把返回的数据转化为JSON格式后获取message,code等,可以使用try catch,在try里面正常拿到数据进行下载处理,而在catch中先对数据流进行转化,然后再处理错误,如下:
1
2
3
4
5
6
7
8
9
10
11
if (出错) {
          let reader = new FileReader()
          reader.onload = e => {
              if (e.target.readyState === 2) {
                let res = {}
                res = JSON.parse(e.target.result)
                console.info('back:: ', res)
              }
         }
         reader.readAsText(response)
      }

  

posted on   yemiaomiao  阅读(353)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示