前端下载二进制文件

假设你从后台获取到的二进制数据为res,则

1
2
3
4
5
6
7
8
9
10
11
var eleLink = document.createElement('a');
eleLink.download = '导出.xls';
eleLink.style.display = 'none';
// 二进制内容转变成blob地址
var blob = new Blob([res]);
eleLink.href = URL.createObjectURL(blob);
// 触发点击
document.body.appendChild(eleLink);
eleLink.click();
// 然后移除
document.body.removeChild(eleLink);

如果发现乱码,可能是请求头问题,在请求头部加上

1
responseType: 'arraybuffer'

就能指定返回为二进制流


前端下载二进制文件
https://blog.ctftools.com/2020/11/newpost-4/
作者
Dr3@m
发布于
2020年11月30日
许可协议