文档章节

两种 js下载文件的方法(转)

bengozhong
 bengozhong
发布于 2016/06/16 19:01
字数 292
阅读 146
收藏 5

两种 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"
        }

© 著作权归作者所有

共有 人打赏支持
上一篇: 分享到qq给好友
下一篇: ucenter头像剪切
bengozhong
粉丝 17
博文 461
码字总数 469983
作品 0
深圳
程序员
私信 提问
[javascript]实现汉字Unicode编码的转换

js文件中,有些变量的值可能会含有汉字,画面引入js以后,有可能会因为字符集的原因,把里面的汉字都变成乱码。后来发现网上的一些js里会把变量中的汉字都表示成”u“开头的16进制编码,这样...

jn_王文強
2013/06/29
0
2
网页性能优化之异步加载js文件

一个网页的有很多地方可以进行性能优化,比较常见的一种方式就是异步加载js脚本文件。在谈异步加载之前,先来看看浏览器加载js文件的原理。 浏览器加载 JavaScript 脚本,主要通过元素完成。...

酥风
10/23
0
0
从零开始学 Web 之 jQuery(一)jQuery的概念,页面加载事件

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN...

fengdaoting
07/04
0
0
fusioncharts 学习经典

下载文件 1、下载fusioncharts 的swf文件,其中官网上是下载不了的,下载的文件左下角都有logo信息,说以正常如果使用是需要付费购买的。本文推荐付费购买,下面使用版本为破解版仅用于学习交...

继仕zac
2015/07/30
0
0
浏览器加载和渲染html的顺序

前阵子,在组内给大家做了一次关于“浏览器加载和渲染HTML的顺序”的分享,这里再总结一下吧。 浏览器加载和渲染html的顺序 1. IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染...

凯文加内特
2014/03/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决

服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"'......

honeymose
54分钟前
0
0
apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
4
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
10
0
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
3
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部