下载文件流,需要接口设置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)
}
)
文章来源:https://www.toymoban.com/news/detail-653235.html
到了这里,关于接口设置了responseType:‘blob‘后,接收不到后端错误信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!