前端接收下载后端文件流
说明:
这里是接收excel流的示例,故属性为type: 'application/vnd.ms-excel'
,最重要的是responseType
要设置为blob.
另外使用ajax
是不行的,blob
类型返回值无法解析,所以即使成功了也无法进入success
回调。自己可以试一下,加深印象。
配套后端代码地址:hutool工具包实现的导出实体到excel功能
// 导出excel数据表
function exportExcel(url, param, fileName) {
url = baseURL + url;
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.responseType = "blob";
xhr.onload = function() {
if (this.status === 200) {
var blob = new Blob([this.response], {
type: 'application/vnd.ms-excel'
});
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = function(e) {
var a = document.createElement('a');
a.download = fileName;
a.href = URL.createObjectURL(blob);
$('body').append(a);
a.click();
}
} else {
alert("下载失败");
}
};
xhr.send(JSON.stringify(param));
}
邮箱:2754371607@qq.com
交友: 同款QQ号