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中的内容
相关推荐
全宝8 分钟前
🔢前端解决浮点数运算精度丢失的问题
前端·javascript
前端双越老师13 分钟前
学不动了?没事,前端娱乐圈也更新不动了
javascript·react.js·ai编程
江城开朗的豌豆14 分钟前
JavaScript篇:偷懒也有理!事件代理让我少写一半代码
前端·javascript·面试
云浪29 分钟前
掌握 CSS 倾斜函数
前端·css
ai产品老杨36 分钟前
实现自动化管理、智能控制、运行服务的智慧能源开源了。
前端·javascript·vue.js·前端框架·ecmascript
唐诗38 分钟前
优化 Nextjs 开发的个人博客首页,秒开!
前端·next.js
飞川撸码39 分钟前
web vue 项目 Docker化部署
前端·vue.js·docker·运维开发
默默无闻的白夜42 分钟前
【Vue】初学Vue(setup函数,数据响应式, 脚手架 )
前端·javascript·vue.js
萌萌哒草头将军1 小时前
⚡⚡⚡Rstack 家族即将迎来新成员 Rstest🚀🚀🚀
前端·javascript·vue.js
江城开朗的豌豆1 小时前
Proxy:JavaScript中的'变形金刚',让你的对象为所欲为!
前端·javascript·面试