如果一定要给出是否存在的提示,就这样<html>
<input type="file" name="file1">
<input type="button" value="验证" onclick="isExists()">
<script language="JavaScript">
<!--
function isExists()
{
var fso,f;
var files=document.all.file1.value;
fso=new ActiveXObject("Scripting.FileSystemObject");
try{
f=fso.GetFile(files);
alert(f.size+" Bytes");
}catch(e){
alert("文件不存在");
}
}
//-->
</script>
</html>
<input type="file" name="file1">
<input type="button" value="验证" onclick="isExists()">
<script language="JavaScript">
<!--
function isExists()
{
var fso,f;
var files=document.all.file1.value;
fso=new ActiveXObject("Scripting.FileSystemObject");
try{
f=fso.GetFile(files);
alert(f.size+" Bytes");
}catch(e){
alert("文件不存在");
}
}
//-->
</script>
</html>
不过大家可以感受一下百度的上传那个页面
用户提交时,或用户输入时,即验证
if(!document.all){return false;}
this.showPreview(true); //sv
if(typeof(_gteIE7)!="undefined"){
if(this.checkImgType(this.fid.value)) this.preview();
else this.showErr("您指定的图片不存在或图片格式不合适,请检查后重试。");
return false;
}
flagpath=0;
flagsize=0;
if(this.g_img)this.g_img.removeNode(true);
this.g_img=document.createElement("img");
this.g_img.id="forpre";
this.g_img.style.position="absolute";
this.g_img.style.visibility="hidden";
this.g_img.onreadystatechange=this.orsc.bindAsEventListener(this);
this.g_img.onerror=this.oe.bindAsEventListener(this);
document.body.insertAdjacentElement("beforeend",this.g_img);
this.g_img.src=this.fid.value;
this.g_img.width=5;
},
oe:function(){
if(!document.all || typeof(_gteIE7)!="undefined"){ return false;}
else
this.showPreview(false);
this.showErr("您指定的图片不存在或图片格式不合适,请检查后重试。");
},
orsc:function(){
if(this.g_img.readyState!="complete"){
}else if(document.all && typeof(_gteIE7)=="undefined" && this.g_img.fileSize>3072000){ //sv
this.showPreview(false);
this.showErr(g_Errs[2]);
}else{
this.preview();
}
},
checkImgType:function(val)
{
var reg=/\.((jpg)|(gif)|(bmp)|(png))$/ig;
return reg.test(val);
}
};
这是他的JS
<td width="70" class="photoprv" align="center" valign="middle"><img id="spPhotoPre4" src="http://img.baidu.com/hi/img/img_df70.gif" border="0" onReadyStateChange="DownImage(this);"></td>
再看他的这个checkimg:function(){
this.hidErr();
if(this.fid.value==""){
this.showPreview(false);
}else{
this.s();
}
var Uppic=new Class();
Uppic.prototype =
{
initialize:function(fid,desdivid,descid,errid,preid,formname,failid,sucid)
{
//可配置的项。
this.fid=G(fid);
this.desdivid=G(desdivid);
this.descid=G(descid);
this.errid=G(errid);
this.preid=G(preid);
this.formname=G(formname);
this.failid=G(failid);
this.sucid=G(sucid);
//不可配置的项
this.defaultPreSrc="http://img.baidu.com/hi/img/img_df70.gif";
//0,成功。1,失败。2,前端验证失败。-1,初始值
this.stat=-1;
this.g_img=null;
this.fid.onchange = this.checkimg.bindAsEventListener(this);
},他就是利用这个来获取判断是否存在的