文件预览或下载中,axios设置responseType:blob时对于后台报错信息的捕获兼容;
接口返回blob和json两种格式时,前端怎么处理
文件预览或下载中,axios设置responseType:blob时对于后台报错信息的捕获兼容,如果response.data.type是application/octet-stream,处理流数据及进行下载,如果是application/json,把返回的数据转化为JSON格式后获取message,code等,可以使用try catch,在try里面正常拿到数据进行下载处理,而在catch中先对数据流进行转化,然后再处理错误,如下:
  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 2022-10-06 23:02 yemiaomiao 阅读(396) 评论(0) 收藏 举报
 
                    
                 
                
            
         
 浙公网安备 33010602011771号
浙公网安备 33010602011771号