第一种
第一种是后端提供的接口,是一个正好的地址,所以前端是非常的简单的,只需要window.open 或是window.location.assgin( url);
第二种
后端需要你先传筛选条件过去,然后获取到结果;
axios正常写,但是需要注意 要写头部headers与类型responseType!!
然后将文件二进制的格式 通过createObjectURL转为一个可以访问的地址,再创建一个a标签下载下来即可;
axios.get(url, {
headers: {
'content-type': 'application/json; charset=utf-8',
},
responseType: 'blob', // --设置请求数据格式
}).then((res) => {
const url = window.URL.createObjectURL(new Blob([res.data]));
const link = document.createElement('a');
link.style.display = 'none';
link.href = url;
link.setAttribute('download', `${xxxxx}.xlsx`);
document.body.appendChild(link);
link.click();
<