导出一个压缩包
zipPost('/system/data/downloadFillingMonthFileZip',this.queryParams).then(async res=> { const isBlob = await blobValidate(res.data) if(isBlob) { let url = window.URL.createObjectURL(res.data); //生成文件流 let newDownloadHref = document.createElement('a'); newDownloadHref.href = url; newDownloadHref.download = '444' + '.zip' document.body.appendChild(newDownloadHref); newDownloadHref.click(); window.URL.revokeObjectURL(url);//释放 url 对象内存 document.body.removeChild(newDownloadHref); }else { const r = await res.data.text() let data = JSON.parse(r) this.$message({ message: data.msg, type: 'error' }); } }) export function zipPost(url, data) { var url = process.env.VUE_APP_BASE_API + url; return axios({ method: 'post', url: url, data: data, responseType: 'blob', headers: { 'Authorization': 'Bearer ' + getToken() } }) }
导出文件流
export function yearExport(data) {
return request({
url: '/system/data/year/export',
method: 'post',
data: data,
responseType: 'blob', // 重点,responseType设置为 blob
})
}
yearExport().then(res => {
console.log(res); // 控制台输出:Blob {size: 30208, type: 'application/x-msdownload'}
var debug = res;
if (debug) {
var elink = document.createElement('a');
elink.download = '导出表格.xls';
elink.style.display = 'none';
var blob = new Blob([debug], { type: 'application/x-msdownload' });
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
document.body.removeChild(elink);
} else {
this.$message.error('导出异常请联系管理员');
}).catch(err => {
console.log(err);
});
}