我做的是app上传,要求.apk格式,并且小于20兆。由于html5不能认识apk的扩展名。所以自己写了一个获取扩展名的函数
html表单
<input type="file" name="app_file" accept=".apk" onchange="processFiles(this.files)"></input>
JS代码
<script type="text/javascript">
//客户端限制文件大小类型function processFiles(files) //这里必须是files,传递过来一个files对象,是上传文件的集合
{
var file = files[0]; //第一个文件
fileExtName = getExtName(file.name); //获取扩展名,调用下面的函数
fileSize = file.size; //直接可以取到
if(fileSize > 20*1024*1024) //拿到的单位为字节
{
alert('app最大长度为20兆,请重新上传');
flag = false; //用来判断是否组织提交表单的默认事件
}else
{
flag = true;
}
if(fileExtName != '.apk')
{
alert('请上传正确的文件');
flag1 = false;
}else
{
flag1 = true;
}
}
//拿到扩展名
function getExtName(str)
{
var index1=str.lastIndexOf("."); //拿到最后一个.
var index2=str.length; //字符串总长度
var postf=str.substring(index1,index2);//后缀名 .的位置截取到最后
return postf;
}
//判断是否阻止提交表单(需要先引入jquery)
$('#submit').click(function() //submit需要在html的提交按钮加上 id ="submit"
{
if(flag1 == false || flag == false) return false;
});
</script>