axios({
method: 'get',
url: '/api/group/export',
params: data,
headers: {
Authentication: localStorage.getItem('token'),
Accept: 'application/json'
},
responseType: 'blob'
}).then(response => {
let data = response.data;
let fileReader = new FileReader();
fileReader.onload = function() {
try {
let jsonData = JSON.parse(this.result); // 說明是普通對象數據,后台轉換失敗
if (jsonData.code) {
that.$message.error(jsonData.message)
}
} catch (err) { // 解析成對象失敗,說明是正常的文件流
const blob = new Blob([response.data], {type: 'application/zip'});
const filename = response.headers['content-disposition'];
const downloadElement = document.createElement('a');
const href = window.URL.createObjectURL(blob); //創建下載的鏈接
downloadElement.href = href;
[downloadElement.download] = [filename.split('=')[1]];
document.body.appendChild(downloadElement);
downloadElement.click(); //點擊下載
document.body.removeChild(downloadElement); //下載完成移除元素
window.URL.revokeObjectURL(href); //釋放blob對
}
};
fileReader.readAsText(data)
}).catch((error) => {
})