接口返回文件流,如何下载
XMLHttpRequest Level 2
支持请求。responseType = 'blob'
返回的就是二进制流
var blob = result;
// ie 使用 if (window.navigator.msSaveBlob) { // for ie 10 and later try { var blobObject = new Blob([blob]); window.navigator.msSaveBlob(blobObject, filename); } catch (e) { console.log(e); } } else {
// 其他浏览器 下载方式 var reader = new FileReader(); reader.readAsDataURL(blob); reader.onload = function(e) { // 转换完成,创建一个a标签用于下载 var a = document.createElement('a'); a.download = filename; a.href = e.target.result; // 兼容触发click var evt = document.createEvent("MouseEvents"); evt.initEvent("click", true, true); a.dispatchEvent(evt); } }