当前位置: 首页 > news >正文

axios请求类型是文件流怎么显示报错信息

axios请求类型是文件流,但是报错信息的话没法显示,在request.js文件中更改一下request拦截器代码:

service.interceptors.request.use(config => {

        ......

, error => {

  console.log(error, '报错报错')

  // 处理请求错误

  if (error.response && error.response.data instanceof Blob && error.response.data.type === 'application/json') {

    // 如果错误信息是一个 JSON 格式的 Blob,那么读取 Blob 的内容并解析为 JSON 对象

    return error.response.data.text().then(text => {

      const json = JSON.parse(text);

      console.log(json);

      // 返回一个包含错误信息的 Promise 对象

      return Promise.reject(json);

    });

  }

  // 如果错误信息不是一个 JSON 格式的 Blob,那么返回原始的错误对象

  return Promise.reject(error);

  // Promise.reject(error)

})

 更改响应拦截器:

service.interceptors.response.use(res => {

if (res.data) {

      // 判断Bolb类型是否有错误信息  错误信息的话直接弹窗提示

      if (

        res.data instanceof Blob &&

        res.data.type === 'application/json'

      ) {

        let reader = new FileReader()

        reader.readAsText(res.data, 'utf-8')

        reader.onload = function (e) {

          let data = JSON.parse(e.target.result)

          if (data.code !== 200) {

            MessageBox.confirm(data.data, '文件生成失败', {

              confirmButtonText: '确定',

              cancelButtonText: '取消',

              type: 'error'

            }).then(() => {

            })

          }

        }

        return Promise.resolve(res)

      }

    }

    // 二进制数据则直接返回

    if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {

      return res.data

    }

......

})

 完工!

http://www.lryc.cn/news/328320.html

相关文章:

  • DataX 源码改造支持Mysql 8.X
  • 大数据学习-2024/3/29-oracle使用介绍
  • Vim - 文本编辑器 Vi vs Vim
  • SpringBoot 登录认证(二)
  • C#语言规范及特殊用法笔记
  • Mysql数据库:日志管理、备份与恢复
  • kubernetes(K8S)学习(八):K8S之常见部署方案
  • 《AIGC重塑金融:AI大模型驱动的金融变革与实践》
  • 【详解】运算放大器工作原理及其在信号处理中的核心作用
  • 银河麒麟V10:sudo: /usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位
  • Android 多层级列表实现
  • 柔数组的介绍
  • 跳槽多次未成功,问题源自何处?
  • Linux 操作系统 022-串口/U盘/共享文件夹
  • java题目9:100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。计算大中小马的数目(HorsesPackGoods9)
  • 操作系统OS Chapter1
  • UE4_Mouse_Interaction——拖拽物体的实现
  • Tomcat配置https
  • Modelsim手动仿真实例
  • AXI-Stream——草稿版
  • 【编码器应用】第一节-编码器从从原理到应用详解
  • 瑞_23种设计模式_中介者模式
  • sqlite删除数据表
  • Spring Boot简介及案例
  • Learning To Count Everything
  • 大语言模型(LLM)token解读
  • 【Micro 2014】NoC Architectures for Silicon Interposer Systems
  • 《极客时间 - 左耳听风》01 | 程序员如何用技术变现?(上)【文章笔记 + 个人思考】
  • Typora结合PicGo + Github搭建个人图床
  • 【JavaWeb】Day27.Web入门——Tomcat介绍