在vue中使用时
npm install file-saver --save
然后在使用的页面中引入
import FileSaver from 'file-saver';
这里我封装了一下,type我这里固定了,下载的是excel,根据需要可以修改,data是请求接口返回的文件流,name是文件名称
// 文档共享下载时使用
fileSave(data, name) {
let blob = new Blob([data], {
type:
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
});
FileSaver.saveAs(blob, name);
},
注意:如果用的普通的post请求去请求后端接口返回的文件流下载后是不能正常打开的,excel打开时提醒这个问题
我这里对请求方法进行封装了,大家可以根据自己的请求视情况修改,只要加入responseType: 'blob',
即可,这时候请求后再下载即可正常打开文件。