1.下载文件的api接口,在api.js中书写
export const downloadFiles= (params) => {
return axios.post(`${baseUrl}/downloadFiles`, params, {
responseType: "blob",
});
};
2.调用api接口,在需要使用下载的方法中书写,使用async和await异步加载的方式
let res = await downloadFiles(id)
//省略处理name和type的代码
//...
//name为文件名,type为文件格式
exportFile(res.data, name, type);
3.exportFile函数
function exportFile(data, filename, ext = "xlsx", type = "application/vnd.ms-excel") {
let blob = new Blob([data], { type });
if (window.navigator.msSaveBlob) {
try {
window.navigator.msSaveBlob(data, filename);
} catch (e) {
console.log(e);
}
} else {
let elink = document.createElement("a");
elink.download = filename + "." + ext;
elink.style.display = "none";
let href = window.URL.createObjectURL(blob);
elink.href = href;
document.body.appendChild(elink);
elink.click();
document.body.removeChild(elink);
window.URL.revokeObjectURL(href);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2023-11-01 node 实现socket通信