实现的原理是,给到一个下载链接,前端动态生成一个a标签,用a标签实现把文件下载下来的功能。
export function downloadFile(
url: string,
filename: string,
target: string = 'blank',
) {
// 防止有些文件直接在浏览器中打开不触发下载逻辑,使用a标签下载
const linkEle = document.createElement('a');
linkEle.download = filename;
linkEle.href = url;
if (target) {
linkEle.target = target;
}
linkEle.style.display = 'none';
document.body.appendChild(linkEle);
linkEle.click();
document.body.removeChild(linkEle);
}