下载图片
export function onPostDownload(url, name) { axios({ url: "/file/api/v1/site/download", method: "post", data: { siteFileUrls: [url] }, responseType: "blob", headers: { token: getToken() } }) .then(res => { f(res, name); }) .catch(err => { console.log("error log --> ", err); }); }
const f = (res, name) => { if (res.data) { const rspHeaders = res.headers; const blob = new Blob([res.data], { type: "application/octet-stream" }); const link = document.createElement("a"); link.href = URL.createObjectURL(blob); document.body.appendChild(link); if (rspHeaders["content-disposition"]) { try { const fileName = decodeURI( rspHeaders["content-disposition"] .split(";")[1] .split("=")[1] .replaceAll('"', "") ); const fileNameArr = fileName.split("."); link.download = name + "." + fileNameArr[1]; link.click(); URL.revokeObjectURL(link.href); document.body.removeChild(link); } catch (err) { console.log("error log --> ", err); } } else { notification.error({ message: "下载失败" }); } } };