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>