/**
* @description 模拟a标签下载
* @param blobUrl url地址
* @param fileName 文件名称
*/
export function download(blobUrl, fileName) {
const a = document.createElement('a');
a.download = fileName;
a.href = blobUrl;
a.click();
}
/**
* @description 导出文件
* @param url 后端url地址
* @param fileName 导出文件名称;如"管网台账.xlsx"
*/
export function exportFile(url, fileName, query) {
const req = new XMLHttpRequest();
req.open('POST', url, true);
req.responseType = 'blob';
req.setRequestHeader('Content-Type', 'application/json');
req.onload = () => {
const data = req.response;
const blob = new Blob([data]);
const blobUrl = window.URL.createObjectURL(blob);
download(blobUrl, fileName);
};
if (query) {
req.send(JSON.stringify(query));
} else {
req.send();
}
}
直接调用exportFile即可