axios设置responseType: ‘blob‘,获取接口返回的错误信息

在axios的请求中当后端接口返回的是文件流的情况下,我们需要在请求参数里面设置responseType: 'blob',如果接口报错,默认前端无法获取后端返回的错误信息。
解决方法:通过FileReader获取错误信息

js 复制代码
    async handleFetch() {
      const res =
        await idleApi.toSign({
          file: 'pdf',
        });
      console.log(res)
      // 错误处理
      if(!res.headers['content-disposition']) {
        const fileReader = new FileReader()
        fileReader.readAsText(new Blob([res.data], { type: 'application/octet-stream' }), 'utf-8')
        fileReader.onload = () => {
          const msg = JSON.parse(fileReader.result)
          console.log(msg?.sys_header?.message) // 错误提示信息,根据接口返回内容不同
        } 
      }
    }
  1. 接口正确返回文件流,打印出来的res

network中返回的是文件流数据

  1. 接口报错的情况,打印出来的res

    实际network中的内容
相关推荐
滿几秒前
Vue3 Element Plus el-tabs数据刷新方法
javascript·vue.js·elementui
LinDaiuuj几秒前
判断符号??,?. ,! ,!! ,|| ,&&,?: 意思以及举例
开发语言·前端·javascript
敲厉害的燕宝11 分钟前
Pinia——Vue的Store状态管理库
前端·javascript·vue.js
Aphasia31133 分钟前
react必备JavaScript知识点(二)——类
前端·javascript
玖玖passion35 分钟前
数组转树:数据结构中的经典问题
前端
呼Lu噜41 分钟前
WPF-遵循MVVM框架创建图表的显示【保姆级】
前端·后端·wpf
珠峰下的沙砾44 分钟前
Vue3 里 CSS 深度作用选择器 :global
前端·javascript·css
航Hang*1 小时前
WEBSTORM前端 —— 第2章:CSS —— 第3节:背景属性与显示模式
前端·css·css3·html5·webstorm
wuhen_n1 小时前
CSS元素动画篇:基于当前位置的变换动画(一)
前端·css·html·css3·html5
前端_学习之路1 小时前
javaScript--数据结构和算法
javascript·数据结构·算法