为了账号安全,请及时绑定邮箱和手机立即绑定

处理文件下载失败,如何将Blob对象转换为Json?

处理文件下载失败,如何将Blob对象转换为Json?

繁星点点滴滴 2018-11-16 08:07:57
【描述】:axios在处理文件下载时设置了responseType:blob,期望下载失败时在前端报后端返回的错误,但此时后端返回的错误信息Json已经被转为blob对象,请问如何将blob对象转回原来的Json呢?或者说怎么处理拦截,因为blob对象时axios拦截器无法判断该进then还是catch。而后端返回非200的错误状态码时又不会返回Json对象解析【相关代码】// axios配置export function exportResult(params) {  return noRejectRequest({    url: ...,    method: ...,    responseType: 'blob', // 转换为Blob对象而不是DOMString     params   }) }// api请求exportResult({...}) .then(res => {      ...  // 成功处理}) .catch(err => {      ...  // 失败处理,此时后端会返回Json格式错误})【相似问题】axios 的responseType 类型动态设置 - Celia的回答 - SegmentFault 思否https://segmentfault.com/q/10...
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

使用FileReader

var reader = new FileReader()
reader.onload = e => console.log(JSON.parse(e.target.result))
reader.readAsText(blob)


查看完整回答
1 反对 回复 2018-11-16
  • 1 回答
  • 0 关注
  • 2074 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信