js通过blob下载文件

js通过blob来下载文件,兼容IE

var fileName = "test.txt";
var str = "12345"; var blob = new Blob([str]); //IE浏览器使用msSaveBlob if (window.navigator.msSaveBlob){ window.navigator.msSaveBlob(blob, fileName); }else{ var aLink = document.createElement('a'); aLink.download = fileName; aLink.href = URL.createObjectURL(blob); aLink.click(); }

支持后台回传buffer到前端组成文件

//buf buffer
var arrayBuffer=new ArrayBuffer(buf.length);
var bufView = new Uint8Array(arrayBuffer);
for(var i=0;i<buf.length;i++){
    bufView[i]=buf[i];
}
var blob = new Blob([arrayBuffer], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'})

也支持xml或者json

上一篇:[踩坑回顾]为预防XSS攻击,request请求流中的数据只能读取一次。


下一篇:web+页面支持批量下载吗