关于处理blob 文件下载兼容的问题

此方案是度娘查询到的,忘了是哪个网址了

if( window.navigator && window.navigator.msSavaOrOpenBlob ) {

navigator.msSavaBlob(new Blob([req.data],name));

}else {

let url = window.URL.createObjectURL(new Blob([req.data]));

let link =document.createElement('a');

link.style.display = 'none';

link.href = url;

link.setAttribute('download',name);

document.body.appendchild(link);

link.click();

URL.revokeObjectURL(url);

document.body.removeChild(link);

}

其中name是下载文件的名称,即下载后文件名称;

req为接口返回的文件流数据;

msSavaOrOpenBlob 是指允许用户在客户端上保存及打开文件

URL.createObjectURL() 创建一个DOMString,这个URL表示指定的File对象或Blob对象。其返回一段带有hash的url,并且储存在内存中,直到document触发unload方法,或者调用revokeObjectURL来释放内存。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值