IE浏览器blob下载

1.题主谷歌浏览器使用window.open直接打开即可下载,IE打开乱码
2..txt文件window.open谷歌会直接打开,采用a标签 download
3.通过blob方式进行下载,实现比较合理,代码:

function downLoad(){

var url = url //下载地址

                    if (window.navigator.msSaveBlob) {

                        try {

                            //创建XMLHttpRequest对象

                            var xhr = new XMLHttpRequest();

                            //配置请求方式、请求地址以及是否同步

                            xhr.open('GET', url, true); //请求方式根据后台来配置

                            //设置请求结果类型为blob

                            xhr.responseType = 'blob';

                            //请求成功回调函数

                            xhr.onload = function (e) {

                                if (this.status == 200) {//请求成功

                                    //获取blob对象

                                    var blob = this.response;

                                    //获取blob对象地址,并把值赋给容器

                                    window.navigator.msSaveBlob(blob, name)  // name要导出的文件名

                                }

                            };

                            xhr.send();

                        } catch (e) {

                            console.log(e);

                        }

                    } else {

                        if (typeof url == 'object' && url instanceof Blob) {

                            url = URL.createObjectURL(url); // 创建blob地址

                        }

                        var aLink = document.createElement('a');

                        aLink.href = url;

                        aLink.download = 'name| '';

                        var event;

                        if (window.MouseEvent) {

                            event = new MouseEvent('click');

                        }

                        else {

                            event = document.createEvent('MouseEvents');

                            event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

                        }

                        aLink.dispatchEvent(event);

                    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容