1.因为 设置responseType:'blob', 之后拿不到后端返回的值了,自己下载文件
2.这是下载成功的
3.这是下载失败的
4.可以根据type类型判断
// 下载模板 API
export function importTemplate_year() {
return new Promise((resolve) =>{
axios({
method:'post',
url: process.env.VUE_APP_BASE_API + '/county/year/importTemplate',
responseType:'blob',
headers: { 'Authorization': getToken() },
}).then(res =>{
resolve(res.data);
}).catch(err =>{
resolve('error');
})
})
}
importTemplate().then(res=>{
var debug = res;
if (debug != 'error' && res.type != "application/json") {
var elink = document.createElement('a');
elink.download = '指标数据导出表格.xlsx';
elink.style.display = 'none';
var blob = new Blob([debug], { type: 'application/vnd.ms-excel;charset=utf-8' });
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
document.body.removeChild(elink);
} else {
this.$message.error('下载失败,请先上传模板');
}
})