zoukankan      html  css  js  c++  java
  • 两种 js下载文件的方法(转)

    function DownURL(strRemoteURL, strLocalURL){
            try{
                var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
                xmlHTTP.open("Get", strRemoteURL, false);
                xmlHTTP.send();
                var adodbStream = new ActiveXObject("ADODB.Stream");
                adodbStream.Type = 1;//1=adTypeBinary 
                adodbStream.Open();
                adodbStream.write(xmlHTTP.responseBody);
                adodbStream.SaveToFile(strLocalURL, 2);
                adodbStream.Close();
                adodbStream = null;
                xmlHTTP = null;
            }
            catch (e){
                window.confirm("下载URL出错!");
            }
            //window.confirm("下载完成."); 
        }

    例如要下载文件的地址为:htpp://www.baidu.com/test.rar  
    我们可以使用window.open("htpp://www.baidu.com/test.rar"),  
    但是该方法在火狐上没有效果的,在IE浏览器上是可以的。  

    如果用window.location.href="htpp://www.baidu.com/test.rar";火狐有些版本是不支持的。  

    为了解决这个问题,我们可以换做另外一种方法  
    我们可以写成如下样式即可以了:  
    window.location="htpp://www.baidu.com/test.rar"; 

    2.文件的下载到本地(默认)(ie 和火狐都可以)

    function downloadFile(url) {   
            try{ 
                var elemIF = document.createElement("iframe");   
                elemIF.src = url;   
                elemIF.style.display = "none";   
                document.body.appendChild(elemIF);   
            }catch(e){ 
     
            } 
        }

    js触发: 
    <div class="login_center"><a href="javascript:_login()"></a></div> 
        <input type="button" value="进入1" onClick = "downloadFile('http://wan.exe')">

    注:在HTML中,IFRAME的属性用SRC,但在JS中,只有部份浏览器支持修改SRC(读是没问题),真正通用的是要修改对应框架的href值。

    function switchIframe(){
        window.frames["frameName"].location.href="action(或你需要的名字).aspx"
            }
  • 相关阅读:
    2017D 方格分割
    2017B 等差素数列
    完全平方数
    K-th Number(二分答案+尺取法判断)
    cf634div3
    performSelector: 与 dispatch_time 异同
    UIButton 的属性与方法
    Node.js 学习笔记三
    [2019杭电多校第一场][hdu6578]Blank(dp)
    [2019杭电多校第一场][hdu6582]Path(最短路&&最小割)
  • 原文地址:https://www.cnblogs.com/qq78292959/p/3890899.html
Copyright © 2011-2022 走看看