思路
利用浏览器a标签进行下载
实现
// url为文件路径,name为文件名
const downloadFile = async (url, name) => {
try {
const a = document.createElement('a');
a.setAttribute('download', name);
a.href = url;
//异步等待点击事件
await new Promise((resolve) => {
a.addEventListener('click', () => {
resolve();
});
});
// 等待点击后再移除元素
a.remove();
} catch (error) {
console.error('下载文件时出现错误:', error);
}
};