下载文件-post方式
axios({ // 用axios发送post请求 method: 'post', url: '', // 请求地址 data: req, // 参数 headers: { 'content-type': 'application/json; charset=utf-8', }, responseType: 'blob', // 表明返回服务器返回的数据类型 }).then((res) => { downloadFile (res.data); });
const downloadFile = (data) => {
let blob = new Blob([data]);
let url = window.URL.createObjectURL(blob);
const link = document.createElement('a'); // 创建a标签
link.href = url;
let date = new Date();
link.download = 'xx.xls'; // 重命名文件
link.click();
URL.revokeObjectURL(url); // 释放内存
};
fetch('/xxx' , { method: 'POST', body: JSON.stringify(params), credentials: 'include', headers: new Headers({ 'Content-Type': 'application/json', }) } ).then(res => res.blob().then(blob => {
let fileReader = new FileReader()
fileReader.readAsText(blob, 'utf-8')
fileReader.onload = function () {
try {
let info = JSON.parse(fileReader.result);//可以获取到返回的信息 进行报错提示
} catch (err) {}
}
let a = document.createElement('a'); let url = window.URL.createObjectURL(blob); a.href = url; a.download = '【下载下来的文件名】.xlsx' a.click(); window.URL.revokeObjectURL(url); }))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通