import axios from "axios"; function downloadBlobFile(url, data, name, type, fileType) { return new Promise((resolve, reject) => { axios({ method: type, url, responseType: "blob", data, }) .then((res) => { if (res.data.size) { let blob = new Blob([res.data], { type: fileType, }); let downloadElement = document.createElement("a"); let href = window.URL.createObjectURL(blob); // 创建下载的链接 downloadElement.href = href; downloadElement.download = name; // 下载后文件名 document.body.appendChild(downloadElement); downloadElement.click(); // 点击下载 document.body.removeChild(downloadElement); // 下载完成移除元素 window.URL.revokeObjectURL(href); // 释放掉blob对象 resolve({ status: 0, }); } else { resolve({ status: -1, }); } }) .catch((e) => { reject({ status: 1, }); }); }); } export default downloadBlobFile;