后台已文件流的形式进行传输,前面接收的方式是Blob
用ajax的方法进行请求,在请求中加上请求的文件流的格式responseType: ‘blob’
重要的是接收到文件流怎样处理数据的格式
有可能需要传参,参数的传输方式和平时ajax请求接口的方式是一致的。
let blob = new Blob([res.data], {type: "application/octet-stream"}); application/octet-stream //下载文件的通用格式
if (window.navigator.msSaveBlob) {
window.navigator.msSaveBlob(blob, ‘文件的名称’+ '.' + ‘文件下载的格式’);//处理IE下载的兼容性
} else {
let downloadElement = document.createElement('a');
let href = window.URL.createObjectURL(blob); //创建下载的链接
downloadElement.href = href;
downloadElement.download = ‘文件的名称’+ '.' + ‘文件下载的格式’ ; //下载后文件名
document.body.appendChild(downloadElement);
downloadElement.click(); //点击下载
document.body.removeChild(downloadElement); //下载完成移除元素
window.URL.revokeObjectURL(href); //释放掉blob对象
}