1.在响应拦截上配置
if(!res.code){
const resType = Object.prototype.toString.call(res);
const isBlob = resType === '[object Blob]';
if (isBlob || resType === '[object String]')
return response }
2.在接口加上‘blob’属性
3.返回数据进行处理
const link = document.createElement('a');// 创建a标签
let blob = new Blob([res.data], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}); // 设置文件类型
link.href = URL.createObjectURL(blob); // 创建URL
let name = res.headers["content-disposition"].split(';')[1].split('filename=')[1];//获取到文件名但是是乱码
let fileName=decodeURIComponent(escape(name))
link.download=fileName
document.body.appendChild(link);
link.style.display = "none";
link.click();
document.body.removeChild(link);