接口返回文件流,如何下载

Posted 浪迹灬天涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口返回文件流,如何下载相关的知识,希望对你有一定的参考价值。

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); } }

 

以上是关于接口返回文件流,如何下载的主要内容,如果未能解决你的问题,请参考以下文章

通用 模拟下载文件保存方法

Java下载多个文件打成压缩包返回输出流,并解决被JVM占用无法打开

pdf流文件的展示下载打印

16个必备的JavaScript代码片段

#yyds干货盘点#前端如何下载文件流

js将后端返回的文件流导出为excel,并自定义下载文件名