export const excelAccept = ".xls,.xlsx,.xlsm,.xlsb,.xla,.xlw,.csv";
/**
* @function downloadDataFlow:下载接口返回的数据流
* @param {array} data 要下载的数据流
* @param {string} fileName 导出文件名
* @returns {promise}
*/
export const downloadDataFlow = (data, fileName) => {
return new Promise((resolve, reject) => {
if (!data) {
message.warning("文件下载失败");
reject();
return;
}
let acceptList = excelAccept.split(",");
let obj = {};
if (acceptList.some((item) => fileName.includes(item))) {
obj.type = "application/vnd.ms-excel";
}
if (typeof window.navigator.msSaveBlob !== "undefined") {
window.navigator.msSaveBlob(new Blob([data], obj), fileName);
} else {
let url = window.URL.createObjectURL(new Blob([data], obj));
let link = document.createElement("a");
link.style.display = "none";
link.href = url;
link.setAttribute("download", fileName);
document.body.appendChild(link);
link.click();
document.body.removeChild(link); //下载完成移除元素
window.URL.revokeObjectURL(url); //释放掉blob对象
}
resolve();
});
};
文件流下载(excel格式JS文件)
于 2024-04-13 17:14:17 首次发布