js自动下载文件到本地的实现代码
更新时间:2013年04月28日 00:44:09 作者:
其实就是利用了Microsoft.XMLHTTP实现远程文件的保存,不过需要修改下才可以运行,地址传参问题
复制代码 代码如下:
<html>
<head>
<title>js自动下载文件到本地</title>
<script language="javascript" type="text/javascript">
function InitAjax()
{
var ajax;
if(window.ActiveXObject){
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var i=0; i <versions.length; i++) {
try {
ajax = new ActiveXObject(versions[i]);
if(ajax) {
return ajax;
}
} catch(e) {}
}
}else if(window.XMLHttpRequest)
{
ajax = new XMLHttpRequest();
}
return ajax;
}
//js自动下载文件到本地
var xh;
function getXML(geturl) {
alert(geturl);
xh = InitAjax();
xh.onreadystatechange = getReady;
xh.open("GET", geturl, true);
xh.send();
}
function getReady() {
//alert(xh.readyState);
if (xh.readyState == 4) {
alert(xh.status);
if (xh.status == 200) {
saveFile("d:\dd.gif");
return true;
}
else
{ return false; }
}
else
return false;
}
function saveFile(tofile) {
alert(tofile);
var objStream;
var imgs;
imgs = xh.responseBody;
objStream = new ActiveXObject("ADODB.Stream");
objStream.Type = 1;
objStream.open();
objStream.write(imgs);
objStream.SaveToFile(tofile)
}
//getXML("http://10.76.3.116/2.bmp");
//js自动下载文件到本地结束
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="124" onclick="getXML('http://img.jb51.net/images/dl.gif')">
</div>
</form>
</body>
</html>
相关文章
简单对比分析JavaScript中的apply,call与this的使用
简单的说call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。既然作为方法的属性,那它们的使用就当然是针对方法的了,这两个方法是容易混淆的2015-12-12js中异步函数async function变同步函数的简单入门
这篇文章主要介绍了js中异步函数async function变同步函数的简单入门,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-04-04
最新评论