日期:2014-05-18  浏览次数:20726 次

请问在<input type='file'/>的使用中,如何控制文件的后缀?
我在做导入数据,必须让用户只能选择.xls后缀的excel进行导入,请问如何控制文件后缀,避免在文件对话框中让用户可选“所有文件”?

------解决方案--------------------
not possible in Internet Explorer
you can validate the file at the server side
------解决方案--------------------
js 认证
但是并不可靠

服务器端认证才是王道
------解决方案--------------------
用js可以控制,但是本人建议在服务器端也作控制

var file_name = th.pic_url.value;
var file_ext = file_name.substring(file_name.lastIndexOf( ". ")+1);
if (th.pic_url.value!= " " && th.pic_url.value!=null)
{
if(file_ext== "jpg " || file_ext== "gif ")
{

}
else
{
alert( "只允许上传.jpg和.gif类型图片文件! ");
return;
}
}
------解决方案--------------------
你可以编写一个文件上传过滤器的类,将它加入到页面程序中,之后写段js代码取到文件的后缀名进行比较就可以了。