根据后端接口获取文件流下载Excel文件 分别通过GET和POST请求实现(★★★

POST携带参数请求文件流并保存为Excel文件

// payload携带的对象参数
function downloadExcel(payload) {
let xhr = new XMLHttpRequest();
xhr.open('POST', 'background/baseInfo/export', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.responseType = 'blob';
xhr.onload = function (e) {
if (this.status === 200) {
let blob = new Blob([this.response], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
let link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
let date = moment(new Date()).format('YYYYMMDDHHmmss')
link.download = `核查人员信息_${date}.xlsx`;
link.click();
}
};
xhr.send(JSON.stringify(payload));
}

GET携带参数请求文件流并保存为Excel文件

function downloadExcel(payload) {
let params = convertToQueryString(payload);
console.log('output-> params::: ', params)
let xhr = new XMLHttpRequest();
xhr.open('GET', 'economic/riskCheck/export' + "?" + params, true);
xhr.responseType = 'blob';
xhr.onload = function (e) {
if (this.status === 200) {
let blob = new Blob([this.response], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
let link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
let date = moment(new Date()).format('YYYYMMDDHHmmss')
link.download = `风险排查导出数据_${date}.xlsx`;
link.click();
}
};
xhr.send();
}
posted @   Felix_Openmind  阅读(422)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}
点击右上角即可分享
微信分享提示