前端在进行文件下载的时候可以通过以下两种方式(后端返回的是url为前提):
window.open("你的url路径", "_blank");
a标签的方式
但是通过window.open的方式下载的话无法重命名,并且下载出来的文件为路径最后一串为文件名,
如:www.baidu.com.myexcel.xlsx,那么文件名就为myexcel.xlsx。
并且我们在写需求的时候产品常常会要求我们下载后文件名是动态的而不是写死的,这时候我们就可以通过a标签下载的方式对问进行重命名下载,下载方式如下:
downLoadExcel(item){
let x = new window.XMLHttpRequest();
x.open('GET', item.url, true);
x.responseType = 'blob';
x.onload = () => {
let url = window.URL.createObjectURL(x.response);
let a = document.createElement('a');
a.href = url;
a.download = item.fileName;
a.click();
};
x.send();
}