我在网上找到的一个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("下载完成."); 
    } 

解决方案 »

  1.   

    strRemoteURL:要下载文件的路径
    strLocalURL:本地保存的路径用ajax发送的请求,这段代码只支持IE
      

  2.   

    拜托这位兄台,能不能说详细点,strRemoteURL用什么格式,strLocalURL用什么格式,最好能给一个例子。
    我昨天晚上试了一晚上!!!所以拜托详细点!!谢谢你了!!!
      

  3.   

    你这样写是不对的吧,发送了ajax异步请求了以后不能直接处理这个请求.如果可以正确运行的话 xmlHttp.onreadystatechange = saveFile;function saveFile() {
                if (xmlHttp.readyState == 4) {
                    if (xmlHttp.status == 200) {
                        var adodbStream = new ActiveXObject("ADODB.Stream");
                        adodbStream.Type = 1; //1=adTypeBinary
                        adodbStream.Open();
                        adodbStream.write(xmlHttp.responseBody);
                        adodbStream.SaveToFile(/*strLocalURL*/"E:\\", 2);
                        adodbStream.Close();
                        adodbStream = null;
                        xmlHTTP = null;
                    }
                }
            }var adodbStream=new ActiveXObject("ADODB.Stream"); 这个对象如果浏览器的安全级别比较高的话应该是创建不了的。你还是找一个其他的方法好了,这个方法估计行不通。
      

  4.   

    用一个隐藏的iframe navigate
    在比较安全的浏览器里面必须要用户同意才可以下载文件。
      

  5.   

    我知道怎么弄了!!
        但是你们都说错了!!!、问题的关键是ADODB.Stream这个对象!!
    要在注册表中将这个对象启用才可以在浏览器中进行文件js下载!!
      

  6.   

    这个我在项目里面用过,IE的安全级别要调低,将站点加为信任站点。我们当时给用户设置IE时,实在不行就把IE设置重新设置了。