判断客户端文件时,可以用code:
var fso,s=filespec; // filespec="C:/path/myfile.txt"
fso=new ActiveXObject("Scripting.FileSystemObject");
if(fso.FileExists(filespec))
s+=" exists.";
else
s+=" doesn't exist.";
alert(s);
判断服务器端(网络文件)时,可以用
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET",yourFileURL,false);
xmlhttp.send();
if(xmlhttp.readyState==4){
if(xmlhttp.status==200)s+=" exists."; //url存在
else if(xmlhttp.status==404)s+=" doesn't exist."; //url不存在
else s+="";//其他状态
}
alert(s);
xmlhttp.open("GET",yourFileURL,false);
xmlhttp.send();
if(xmlhttp.readyState==4){
if(xmlhttp.status==200)s+=" exists."; //url存在
else if(xmlhttp.status==404)s+=" doesn't exist."; //url不存在
else s+="";//其他状态
}
alert(s);
对于上传操作,我的办法是限制用户只能选择文件,而不能随便输入
<form name="myform" method="post" action="" ENCTYPE="multipart/form-data">
<table id="updLoad">
<tr>
<td><input style="width:150px;" type="text" name="show_file" id="show_file" readonly></td>
<td><input style="width:0px;border-style:none" type="file" name="cap_file" id="cap_file" οnfοcus="f_showfile()"></td>
</tr>
</table>
</form>
<script language="javascript">
function f_showfile(){
var objTd,objTr;
objTd=window.event.srcElement.parentElement;
objTr=objTd.parentElement;
updLoad.rows(objTr.rowIndex).cells(0).children(0).value=updLoad.rows(objTr.rowIndex).cells(1).children(0).value;
}
</script>
用type="text"代替type="file"显示文件路径,而原来的type="file"就通过设置style属性隐藏起来,并通过onfocus来给type="text"赋值。后来发现其实可以<input style="width:100%" type="file" name="" id="" contentEditable="false" >把contentEditable设置成false就可以了,不用上述那么麻烦。
<form name="myform" method="post" action="" ENCTYPE="multipart/form-data">
<table id="updLoad">
<tr>
<td><input style="width:150px;" type="text" name="show_file" id="show_file" readonly></td>
<td><input style="width:0px;border-style:none" type="file" name="cap_file" id="cap_file" οnfοcus="f_showfile()"></td>
</tr>
</table>
</form>
<script language="javascript">
function f_showfile(){
var objTd,objTr;
objTd=window.event.srcElement.parentElement;
objTr=objTd.parentElement;
updLoad.rows(objTr.rowIndex).cells(0).children(0).value=updLoad.rows(objTr.rowIndex).cells(1).children(0).value;
}
</script>
用type="text"代替type="file"显示文件路径,而原来的type="file"就通过设置style属性隐藏起来,并通过onfocus来给type="text"赋值。后来发现其实可以<input style="width:100%" type="file" name="" id="" contentEditable="false" >把contentEditable设置成false就可以了,不用上述那么麻烦。