export function downloadFile(response) {
const isIE = /MSIE|Trident/.test(window.navigator.userAgent);
const blob = new Blob([response.data]);
let fileName;
if (!fileName) {
const disposition = response.headers["content-disposition"];
if (disposition) {
const matches = /filename=([^;]+)/.exec(disposition);
if (matches && matches[1]) {
fileName = decodeURIComponent(matches[1]);
}
}
}
if (isIE) {
window.navigator.msSaveBlob(blob, fileName);
} else {
const url = window.URL.createObjectURL(blob);
const link = document.createElement("a");
link.href = url;
link.setAttribute("download", fileName);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
window.URL.revokeObjectURL(url);
}
}
export function Download_api(data ) {
return request({
url: "/aad",
method: "post",
data: { ...data, bucket: "local" },
responseType: "blob",
headers: token ? { Authorization: "Bearer " + token } : {},
})
.then((response) => {
downloadFile(response);
})
.catch((error) => {
console.error("下载失败:", error);
});
}
公共附件下载逻辑 附件下载逻辑
最新推荐文章于 2025-08-02 13:40:10 发布