pdf链接在浏览器中默认是无法直接下载的,会打开预览pdf的页面
解决:发送请求链接内容,链接返回流再进行下载。
import axios from "axios";
const downloadFile = (url) => {
axios
.get(url, {
responseType: "arraybuffer",
})
.then((res: any) => {
let fileName = '文件名'
download(res, fileName);
});
};
const download = (res, filename) => {
const blob = new Blob([res.data]);
const a = document.createElement("a");
const URL = window.URL || window.webkitURL;
const herf = URL.createObjectURL(blob);
a.href = herf;
a.download = filename;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
window.URL.revokeObjectURL(herf);
};