接口设置了responseType:‘blob‘后,接收不到后端错误信息

这篇具有很好参考价值的文章主要介绍了接口设置了responseType:‘blob‘后,接收不到后端错误信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下载文件流,需要接口设置responseType:'blob',接口设置了responseType:'blob'后,拿不到后端接口的异常信息,我们只需要添加如下代码:文章来源地址https://www.toymoban.com/news/detail-653235.html

const service = axios.create({
  baseURL: ***, // url = base url + request url
  // withCredentials: true, // send cookies when cross-domain requests
  timeout: 30000 // request timeout
})
// 请求拦截器
service.interceptors.response.use(
 
  response => {
    // 省略。。。
  },
  error => {
    // console.log('err' ,JSON.parse(JSON.stringify(error))) // for debug
     // 关键!!! 拿到blob信息
    if(error.response&&error.response.data instanceof Blob&&error.response.data.type==='application/json'){
      error.response.data.text().then(text=>{
        const json=JSON.parse(text)
        Message({
          message: json.message,
          type: 'warning',
          duration: 5 * 1000
        })
        
      })
      return  Promise.reject(json.message)
    }
   // 普通异常
    Message({
      message: JSON.parse(JSON.stringify(error.response)).data.message,
      type: 'error',
      duration: 5 * 1000
    })
    return Promise.reject(JSON.parse(JSON.stringify(error.response)).data.message)
  }
)

到了这里,关于接口设置了responseType:‘blob‘后,接收不到后端错误信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue axios实现下载文件及responseType:blob注意事项

    需要使用axios和js-file-download组件 注意事项: responseType:blob表示服务器返回的响应类型是二进制流,一般用于文件、视频下载等场景。正常情况下后端返回二进制数据,当后端服务器出错时,往往会以json形式返回错误信息,例如{\\\"code\\\":500,\\\"msg\\\":\\\"未知异常\\\"}。因为设置了blob类型,

    2024年02月11日
    浏览(29)
  • postman发送json嵌套, 后端 @RequestBody 接收不到

    遇到了一个很奇葩的问题,具体是这样的: postman 通过 post 方式发送请求,请求参数是一个嵌套的json,后端是@RequestBody修饰的实体类接参的, 具体的json数据: 后端: 大家知道以上事例即可。 出现的问题是: 发送请求后,没能收到外层实体类的参数,内层的ANPR对象,一直

    2024年02月04日
    浏览(26)
  • 因为axios请求后端,接收不到token的问引出的问题

    相关概念 什么是跨域? 跨域指的是在浏览器环境下,当发起请求的域(或者网站)与请求的资源所在的域之间存在协议、主机或端口中的任何一个条件不同的情况。换句话说,只要协议、主机或端口中有一个不同,就会被认为是跨域请求。 具体来说,以下情况都属于跨域请

    2024年02月10日
    浏览(33)
  • spring中,为什么前端明明传了值,后端却接收不到

    在进行前后端的联调时,有时候会出现,前端明明传了值,后端接口却接收不到的情况,这种情况常常让人很苦恼,然后就会去仔细对比前后端的参数单词是不是对应上了,也会去检查是不是前端的请求参数格式有问题,又或者是后端接口接收的参数格式有问题,一通检查对

    2024年02月03日
    浏览(41)
  • postman测试接口接收不到参数

    最近写封装成VO的类作为controller的参数,使用@RequestBody注解进行修饰,用postman进行测试时,接收不到参数,但是请求可以成功返回。 排查后发现是由于@RequestBody注解引包时引用错了 替换成springframework.web.annotation.*后参数接收正常

    2024年02月12日
    浏览(28)
  • 小程序-接口概率性接收不到参数

    在小程序上调用一个接口,传入筛选条件,但返回结果却没有进行筛选,概率性出现这种情况,频率较低。 然后在postman调用该接口,调用很多很多次,发现也出现这种问题,看了代码,接口的传参是个类,本来字段里面有@NotNull相关的注解,去掉后,但没有去掉@Valid注解,就

    2024年02月14日
    浏览(28)
  • json传参到java接口部分参数接收不到

    使用postman传参时,接口参数中有部分参数被传递进了接口内部,还有部分参数没有接收到,如下图:第一张图是postman接口参数,第二张图是接收到的参数 图一: 图二: 这个问题其实解决很简单,就是json数据转化为实体的过程,找寻get、set方法失败,导致数据无法正常从

    2023年04月10日
    浏览(32)
  • C# webservice 接收json数据 接口返回 远程服务器返回错误: (500) 内部服务器错误

    C# post 调用webservice 服务端接口,会返回上面那个错误,8成是发送的数据和接口不符合造成的。有2种情况 第一种情况如下:如果类型是默认request.ContentType = \\\"application/x-www-form-urlencoded\\\";这个类型 那么你发送数据和被调用接口参数名如果不对,则会报下图这个错 我发送的参数名

    2024年02月13日
    浏览(49)
  • vue 封装的axios接口,请求接口动态增加headers&responseType

    一、遇到一个需求,掉接口的时候,给headers中添加一个参数

    2024年02月16日
    浏览(36)
  • Interlij IDEA 运行 ruoyi 后端项目。错误: 找不到或无法加载主类 com.ruoyi.auth.RuoYiAuthApplication

    用了 IDEA运行,参考以下issue删除.idea目录也没有用 (官方文档写是用Eclipse运行) 错误: 找不到或无法加载主类 com.ruoyi.auth.RuoYiAuthApplication · Issue #I48N2X · 若依/RuoYi-Cloud - Gitee.com # 然后发现自己的项目目录包含  中文字 ,把目录中文字去掉,删除.idea重新编辑即可 . # err2 启动

    2024年02月11日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包