clickExport() {
let fjson = JSON.parse(JSON.stringify(this.filters))
const xhr = new XMLHttpRequest();
// 用POST方式
xhr.open('POST', window.location.origin + '/qscrm/contract/export', true);
xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');
xhr.responseType = "blob";
xhr.setRequestHeader('allToken', window.sessionStorage.getItem('allToken'));
xhr.send(JSON.stringify(fjson))
xhr.onreadystatechange = event => {
if (xhr.readyState == 4) { //响应已完成
if (xhr.status == 200) {
var blob = xhr.response;
// 获取ContentType 文件类型
const contentType = xhr.getResponseHeader('Content-Type');
// 文件名称
// const fileName = decodeURIComponent(url.split("%3D-%3D").pop());
const fileName = '合同管理导出列表.xlsx'
if (navigator.msSaveBlob == null) {
// 创建一个a标签用于下载
const donwLoadLink = document.createElement('a');
donwLoadLink.download = fileName;
donwLoadLink.href = URL.createObjectURL(blob);
document.body.appendChild(donwLoadLink); // 修复firefox中无法触发click
// 触发下载事件,IO到磁盘
donwLoadLink.click();
// 释放内存中的资源
URL.revokeObjectURL(donwLoadLink.href);
// 移除
donwLoadLink.remove();
} else {
navigator.msSaveBlob(blob, fileName); //IE浏览器
}
}
}
}
},
POST接口导出文件,并设置token。
最新推荐文章于 2024-07-04 16:37:43 发布