文件预览或下载中,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 阅读(334) 评论(0) 编辑 收藏 举报