JS:通过A标签将后端传入的流转成csv/xls文件进行下载
在network里面查看后端出入的流的方式是不是 application/csv
如果是就在axios里面添加responseType:blob 指定response的类型为blob(如果有需要配置一下接口,不要轻易修改请求头,会改变传入流的方式)
const blob = new Blob([response]); // 获取到的response
const fileName = this.lang.template('xxx.csv'); //依照需求更改后缀文件类型
const linkNode = document.createElement('a');
linkNode.download = fileName; //a标签的download属性规定下载文件的名称
linkNode.style.display = 'none';
linkNode.href = URL.createObjectURL(blob); //生成一个Blob URL
document.body.appendChild(linkNode);
linkNode.click(); //模拟在按钮上的一次鼠标单击
URL.revokeObjectURL(linkNode.href); // 释放URL 对象
document.body.removeChild(linkNode);