在工作中,设计多个符合条件的文件一起上传到服务器的需求.两个版本采用了两种不同的机制.先备下来:
第一种方案:采用异步机制,同AJAX的机制一样.xmlhttp=new XMLHttpRequest();
1:JS创建一些组件,包括文件操作组件Scripting.FileSystemObject,建立ADODB.Stream对象(MDAC微软数据库访问组件),XMLHttp组件.
代码
varfso=null;varstream=null;//创建FileSystemObjecttry{
fso=newActiveXObject("Scripting.FileSystemObject");
}catch(e)
{if(confirm("您的IE未加载某种Windows组件,请按“确认”自动加载,否则批量上传照片会失败。\n"))
{try{varwsh=newActiveXObject('WScript.Shell');if(wsh)
wsh.Run('regsvr32 Scrrun.dll');returntrue;
}catch(ee)
{
alert("然后请按照页面说明,完成“IE设置”的操作,将此站点设为“可信任站点”。");returnfalse;
}
}returnfalse;
}//创建Ado.Streamtry{
stream=newActiveXObject("ADODB.Stream");
}catch(e)
{
alert("请到页面中下载安装msado控件.rar");returnfalse;
}//创建XML2.0try{
xmldoc=newActiveXObject("MSXML2.DOMDocument");
}catch(ew){
alert("请下载安装MSXML2.0");returnfalse;
}try{xmlhttp=newXMLHttpRequest();}catch(e)
{try{xmlhttp=newActiveXObject("Msxml2.XMLHTTP");}catch(e)
{xmlhttp=newActiveXObject("Microsoft.XMLHTTP");}
}
}
2.接着就是选择文件,通过上传控件获取文件夹里的任何一个文件的文件名称,获取这个文件名所在的文件夹地址P.判断P+文件名是否是符合要求的
代码
if(fso.FileExists(SelPhotoPath+oRow["KS_SFZ"].toString()+".jpg"))
{
txtphotofiles.options[txtphotofiles.length]=newOption(oRow["KS_BMH"].toString()+&