js同过url下载文件,调用另存为弹框

实战中,项目将文件上传到项目的根目录下,并进行保存,随后根据此文件的路径进行下载到本地磁盘

实战中,项目将文件上传到项目的根目录下,并进行保存,随后根据此文件的路径进行下载到本地磁盘

实战中,项目将文件上传到项目的根目录下,并进行保存,随后根据此文件的路径进行下载到本地磁盘

实战中,项目将文件上传到项目的根目录下,并进行保存,随后根据此文件的路径进行下载到本地磁盘

谷歌浏览器不存在弹框

html页面中的

1 <a id="downLoad" onclick="oDownLoad('downLoad')">下载</a>
2 <input type="hidden" name="fgycompany.fileUrl" value="地址" />

 

js部分方法

 1 <script>
 2         function oDownLoad(obj) {
 3             var odownLoad = document.getElementById(obj);
 4             var url = $(odownLoad).siblings("input[name='fgycompany.fileUrl']").val();
 5             //取得浏览器的userAgent字符串
 6             var userAgent = navigator.userAgent;
 7             //浏览器类型
 8             var chromeType = "";
 9             var isOpera = userAgent.indexOf("Opera") > -1;
10             //判断是否Opera浏览器
11             if (isOpera) {
12                 chromeType = "Opera"
13             };
14             //判断是否Firefox浏览器
15             if (userAgent.indexOf("Firefox") > -1) {
16                 chromeType = "FF";
17             }
18             if (userAgent.indexOf("Chrome") > -1) {
19                 chromeType = "Chrome";
20             }
21             //判断是否Safari浏览器
22             if (userAgent.indexOf("Safari") > -1) {
23                 chromeType = "Safari";
24             }
25             //判断是否IE浏览器
26             if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
27                 chromeType = "IE";
28             };
29             //判断是否Edge浏览器
30             if (userAgent.indexOf("Trident") > -1) {
31                 chromeType = "Edge";
32             }
33             if (chromeType === "IE" || chromeType === "Edge") {
34                 //IE、Edge
35                 odownLoad.href = "#";
36                 var oImg = document.createElement("img");
37                 oImg.src = url;
38                 oImg.id = "downImg";
39                 var odown = document.getElementById("down");
40                 odown.appendChild(oImg);
41                 var oPop = window.open(document.getElementById('downImg').src, "", "width=1, height=1, top=5000, left=5000");
42                 for (; oPop.document.readyState != "complete";) {
43                     if (oPop.document.readyState == "complete") break;
44                 }
45                 oPop.document.execCommand("SaveAs");
46                 oPop.close();
47             } else {
48                 //!IE、Edge
49                 odownLoad.href = url;
50                 odownLoad.download = "";
51             }
52         }
53     </script>

 

posted @ 2019-04-25 10:59  慕码人  阅读(5584)  评论(0编辑  收藏  举报