1、首先判断响应数据Bolb类型,如果错误信息是一个 JSON 格式的 Blob,那么读取 Blob 的内容并解析为 JSON 对象 axios.interceptors.response.use(response=>{// 对响应进行处理returnresponse; },error=>{// 处理请求错误if(error.response&& error.response.datainstanceofBlob&& error.response.data.type==='applic...
文件预览或下载中,axios设置responseType:blob时对于后台报错信息的捕获兼容,如果response.data.type是application/octet-stream,处理流数据及进行下载,如果是application/json,把返回的数据转化为JSON格式后获取message,code等,可以使用try catch,在try里面正常拿到数据进行下载处理,而在catch中先对数据流进行转化,然后再处理...
download(){if(!this.form.fileType){returnthis.$message.error('请选择文件类型')}if(!this.form.transDate){returnthis.$message.error('请选择交易日期')}constparams={fileType:this.form.fileType,transDate:this.form.transDate.split('-').join('')}this.loading=truedownloadbillCheckFile(params).then...
vueaxios(下载⽂件流)设置返回值类型responseType:blob ⽆效的问题 请求⼆进制流的时候,⾃动将流转换成blob对象,在axios请求的时候在请求体⾥设置 responseType: 'blob'但是突然失效了,后来发现是引⼊mockjs导致的。(好⼤的坑)转载 mockjs的坑是会把responseaaType属性⾃动设置为空 ...
2.blob 此设置会使 Axios 将响应体作为一个 Blob 对象返回。Blob 对象可以存储各种类型的二进制数据。 示例: axios.get('/your-api-url', { responseType: 'blob' }).then(response => { const blob = response.data; const reader = new FileReader(); ...
第二步:设置axios的responseType为blob,对捕获的错误信息由blob格式转回json格式再返回 axios({ method: 'post', url: 'xxx/xxx', data: { ids: [1,2,3]}, responseType: 'blob' }).then(response => { this.exportFile(response) }).catch((error) => { ...
1、请求设置为 responseType: ‘arraybuffer’, 请求成功时,后端返回文件流,正常导出文件; 请求失败时,后端返回json对象,如:{“status”:“false”,“code”:“500”,“msg”:“操作失败”},也被转成了arraybuffer 此时请求成功和失败返回的http状态码都是200 ...
在使用axios请求时,设置 responseType 为 'arraybuffer' 或 'blob' 下载文件时,关键在于正确处理返回值以确保成功或失败的响应得到恰当的响应。当设置 responseType 为 'arraybuffer' 时,假设请求成功,后端会返回文件流。在正常情况下,用户可以直接导出此文件流。然而,如果请求失败,后端可能会返回一个 ...
使用axios的responseType设置为blob下载文件 成功时 // 兼容ieif(window.naviagtor.msSaveBlob){try{constblobData=newBlob([res.data])window.navigator.msSaveBlob(blobData,'文件名')}catch(e){console.log('下载文件失败')}}else{consturl=window.URL.createobjectURL(res.data)constlink=document.createElement(...