this.$ajax({
method: 'GET',
url: '你的url',
headers: {
'Authorization': tokenUtil.getToken(), // 我的token
'Content-Type': "application/json;charset=utf-8"
},
responseType: 'blob', // 很重要
params: params // 請求入參
})
.then(res =>{
// console.log(res)
let headersName = '';
if(res.headers['content-disposition']) {
headersName = res.headers['content-disposition'].split('=')[1];
}
else {
headersName = '文件名稱';
}
let fileName = decodeURI(headersName);
let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'}); // 注意你的文件類型,我的是excel,需要什么類型文件,對應修改即可
// IE兼容
if (window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob, fileName);
} else {
var a = document.createElement('a');
a.download = fileName;
a.href = URL.createObjectURL(blob);
a.setAttribute("id", "export");
document.getElementById("platform").append(a); // 修復firefox中無法觸發click, platform 為我本頁div 的id, 此處可直接用document.body
a.click();
document.getElementById("export").remove();
}
this.loading = false;
})
.catch(err =>{
this.loading = false;
})