公司现在做的项目中有一个需求是要在用户点击上传时弹出的对话框中锁死可上传的文件类型,页面是用PHP写的,嵌在软件里面,内置的解析内核是Webkit2.0,文件上传就一个input控件,accept属性没有任何效果,经理要求用JS来控制,本人入职才三天哟,求高人指教
默认效果如图:
下面是项目需求效果
本人刚从学校出来,入职才三天,菜鸟一枚,请各位高人救命,在线等哟。
默认效果如图:
下面是项目需求效果
本人刚从学校出来,入职才三天,菜鸟一枚,请各位高人救命,在线等哟。
再加上你是webkit引擎,非ie解析引擎不可以和windows系统交互,读取不了文件。
你能做的估计只能根据文件后缀做些简单判定,但是如何读取file表单的value,不同浏览器有不同做法
http://www.w3help.org/zh-cn/causes/HF1010
这篇文章不错,后面提到改成flash表单提交,比如swfupload,会简单很多。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>js判断上传文件类型 格式 扩展名(后缀名)</title>
<script language="网页特效">
function isvalidatefile(obj){
var extend = form1.file.value.substring(form1.file.value.lastindexof(".")+1);
if(extend==""){
}else{
if(!(extend=="xls"||extend=="doc")){
alert("请上传后缀名为xls或doc的文件!");
var nf = obj.clonenode(true);
nf.value='';
obj.parentnode.replacechild(nf, obj);
return false;
}
}
return true;
}
</script>
</head><body>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
<label for="filefield"></label>
<input type="file" name="file" id="file" />
<input type="button" name="button" id="button" value="检测上传文件类型" onclick="isvalidatefile('file');" />
</form>
</body>
</html>