两种js下载文件的方法(转)
2024-08-28 04:03:13
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触发:
注:在HTML中,IFRAME的属性用SRC,但在JS中,只有部份浏览器支持修改SRC(读是没问题),真正通用的是要修改对应框架的href值。
function switchIframe(){
window.frames["frameName"].location.href="action(或你需要的名字).aspx"
}
最新文章
- LoadRunner关联函数的脚本实例--如何操作关联参数
- sublime设置备份
- C# 错误代码
- jquery常用代码集锦
- Aizu 2325 Mysterious Maze
- Google Code Style
- hadoop中汉字与英文字符混合的keyword做为combine的key的问题
- System.gc
- 模仿《百度音乐HD》添加到下载框动画
- linux sendEmail工具的安装使用
- java转发和重定向
- A窗口消失B窗口弹出
- js菜鸟进阶-jQuery源码分析(1)-基本架构
- R︱Rstudio 1.0版本尝鲜(R notebook、下载链接、sparkR、代码时间测试profile)
- Ubuntu 17.10.1安装, 定制
- Spark-1.6.0之Application运行信息记录器JobProgressListener
- Spring_boot简单操作数据库
- 【BZOJ 2850】巧克力王国
- server 打开失败
- [Spark][Hive]外部文件导入到Hive的例子