本文主要是介绍vue的 blob文件下载文件时,后端自定义异常,并返回json错误提示信息,前端捕获信息并展示给用户,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.后端返回的json数据结构为:
{"message":"下载失败,下载文件不存在,请联系管理员处理!","code":500}
2.vue 请求后台接口返回的 Blob数据
3.问题出现的原因是,正常其他数据列表接口,返回的 请求头部 直接为 json ,有附件的 则为 blob,所以得特殊处理下
4.解决方案,(注意:就是它: response.config.responseType=='blob')
import Vue from 'vue'
import axios from 'axios'const service=axios.create({baseUrl:xxxxx,timeout:3600000
})//response interceptor
service.interceptors.response.use(response)=>{if(response.status==200 &&b response.config.responseType=='blob'){if(response.data.size==0 || response.headers['content-type'].includes('json'){let data=response.datalet fileReader=new FileReader()fileReader.readAsText(data)fileReader.onload=function(result){let jsondata=JSON.parse(result.target.result)notification.error({message:'提示', description: jsondata.message})}return Promise.reject(response)}return response}else{return response.data}
},error)
这篇关于vue的 blob文件下载文件时,后端自定义异常,并返回json错误提示信息,前端捕获信息并展示给用户的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!