根据判断返回值是json还是blob对应处理;
axios.request('url').then((res)=>{
const promise=new Promise((resolve,reject)=>{
const fileReader = new FileReader();
const blob = new Blob([res.data]);
fileReader.onload = function(){
try{
const jsoninfo = JSON.parse(this.result);
jsoninfo.status === 0?reject(jsoninfo):resolve(jsoninfo);
}.catch(err){
resolve(err) }
};
fileReader.readAsText(blob);
});
promise.then(data=>{
const blob = new Blob([res.data]);
const objurl = window.URL.createObjectURL(blob);
const fileName = res.header.filename,'UTF-8';
const link = document.createElement('a');
link.setAttribute('href',objurl);
link.setAttribute('download',fileName);
link.click();
}).catch(()=>{
})
}