export const downLoad = (urls,fileName,fileType) =>{
let currentProtocol = window.location.protocol; //获取当前的协议
if (currentProtocol === "https:") {
urls = urls.replace("http:", "https:");
} else if (currentProtocol != "http:" || fileType == '' || fileType == undefined || fileType == null) {
alert("该资料下载地址无效");
return;
}
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = () => {
if (xhr.readyState === 4) {
if (xhr.status == 200) {
let blob = new Blob([xhr.response]); // 创建二进制对象
let newfileName = `${fileName}.${fileType}`; // 下载的文件名
let link = document.createElement("a"); // 创建a标签
link.href = URL.createObjectURL(blob); // 设置a标签的下载链接
link.download = newfileName; // 设置a标签的下载文件名
link.click();
// 在触发点击事件之后再删除节点
link.addEventListener("click", () => {
document.body.removeChild(link);
});
} else {
alert("下载文件失败");
}
}
};
xhr.open("GET", urls, true); // 发送GET请求
xhr.responseType = "blob"; // 将返回结果设置为Blob对象(不设置的话无法解析内容)
xhr.send(); // 发送请求
}
根据后端提供的链接下载文件
于 2023-12-22 15:31:36 首次发布