一、通过html的a标签下载

<a href="url 302到下载地址" download>下载</a>

例如:

var   link = document.createElement('a');
link.setAttribute("download", "");
link.href = data.fileUrl;
link.click();

二、通过form表单下载,例如

$('<form method="post" target="_blank" role="form" action="'+data.urlPath+data.fileName+'" hidden="hidden"></form>') .appendTo('body').submit().remove();

三、通过window下载

window.location.href="htpp://www.baidu.com/test.rar"; 

四、通过get请求拿到文件的流,然后调用方法下载,参考这篇博客

兼容浏览器的写法

1、谷歌浏览器

最好是用一的方法,用二和三的方法的话,是谷歌支持的文件类型的话是会直接打开

2、IE浏览器

目前只找到了支持IE10+下载文件,使用微软独家的msSaveBlob, 这个方法支持ie10及以上。

 msSaveBlob的使用地址:https://msdn.microsoft.com/zh-cn/windows/hh779016(v=vs.90)

 

下面是例子

 if(!!window.ActiveXObject || "ActiveXObject" in window){//判断是否为IE
            if(window.navigator.msSaveBlob){//IE10+方法
            var blobObject = new Blob([data.fileUrl]); 
                window.navigator.msSaveBlob(blobObject, data.fileName); 
            }
            }

 

 

 

 

 

 

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐