当设置response为blob时,但是返回错误提示的处理方式

根据判断返回值是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(()=>{
    
    })
}

猜你喜欢

转载自blog.csdn.net/weixin_43979503/article/details/128696515