为了账号安全,请及时绑定邮箱和手机立即绑定

使用Fetch下载文件,IE不兼容,求助!!!

使用Fetch下载文件,IE不兼容,求助!!!

慕无忌1623718 2019-03-20 17:15:49
使用Fetch请求服务,后端服务没有生成具体文件,返回的是字节流,用下面的方式在Chrome可以使用,但是无法兼容IE,求助解决方案。(要求不在服务器生成文件;由于项目问题,要求使用fetch。)fetch(url).then(res => res.blob().then(blob => {       var a = document.createElement('a');       var url = window.URL.createObjectURL(blob);   // 获取 blob 本地文件连接 (blob 为纯二进制对象,不能够直接保存到磁盘上)      var filename = res.headers.get('Content-Disposition');       a.href = url;       a.download = filename;       a.click();       window.URL.revokeObjectURL(url);     })); =======================================================================================找到了IE10+的解决方法,但是不兼容IE9┓(;´_`)┏fetch(url).then(res => res.blob().then(blob => {  var filename = res.headers.get('Content-Disposition');  if (window.navigator.msSaveOrOpenBlob) {   navigator.msSaveBlob(blob, filename);  }else {   var a = document.createElement('a');    var url = window.URL.createObjectURL(blob);   // 获取 blob 本地文件连接 (blob 为纯二进制对象,不能够直接保存到磁盘上)    a.href = url;    a.download = filename;    a.click();    window.URL.revokeObjectURL(url);  } })); 
查看完整描述

2 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

使用XMLHttpRequest试试


查看完整回答
反对 回复 2019-03-27
  • 2 回答
  • 0 关注
  • 759 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信