后端返回文件流,前端处理进行文件下载
目录
后端返回文件流,前端处理进行文件下载
后端返回文件流,前端需要对返回的文件流处理进行文件下载
先是发送请求的时候声明返回blob格式
url: '',(你的地址)
method: 'post',
data: params,
responseType: 'blob' (这里很重要)
然后将返回的数据传给downLoadXls方法里,第二个形参是文件名称,然后系统就开始自动下载了~
function downLoadXls(data, filename) {
//var blob = new Blob([data], {type: 'application/vnd.ms-excel'})接收的是blob,若接收的是文件流,需要转化一下
if (typeof window.chrome !== 'undefined') {
// Chrome version
var link = document.createElement('a');
link.href = window.URL.createObjectURL(data);
link.download = filename;
link.click();
} else if (typeof window.navigator.msSaveBlob !== 'undefined') {
// IE version
var blob = new Blob([data], { type: 'application/force-download' });
window.navigator.msSaveBlob(blob, filename);
} else {
// Firefox version
var file = new File([data], filename, { type: 'application/force-download' });
window.open(URL.createObjectURL(file));
}
}