前端实现下载文件的三种方式
一、创建静态a标签,指定href
<a href="http://xxx.xxx.xxx/CV/test.xlsx" download="文件名称">下载</a>
二、以动态创建a标签进行下载
//res为后端接口返回的数据
const blob = new Blob([res.body], { type: 'application/octet-stream' });
const url = window.URL.createObjectURL(blob);
// 以动态创建a标签进行下载
const a = document.createElement('a');
const fileName = moment().format("YYYYMMDDHHmmss");
a.href = url;
a.download = fileName + '.xlsx';
a.click();
window.URL.revokeObjectURL(url);
三、打开新窗口方式进行下载
const blob = new Blob([res.body], { type: 'application/octet-stream' });
const url = window.URL.createObjectURL(blob);
// 打开新窗口方式进行下载
window.open(url);
window.URL.revokeObjectURL(url);
在请求头里加上数据的类型