html5上传文件提交服务器前的一些前端验证。
2018-03-23 16:14
288 查看
我做的是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"
{
i
4000
f(flag1 == false || flag == false) return false;
});
</script>
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"
{
i
4000
f(flag1 == false || flag == false) return false;
});
</script>
相关文章推荐
- HTML5 FormData提交表单-HTML5文件上传-JavaServlet处理文件上传
- asp.net使用FtpWebRequest向ftp上传文件报错 基础连接已经关闭: 服务器提交了协议冲突
- 将TXT文件上传的服务器上并将读取内容绑定到DataTable进行验证
- .NET将文件上传到网络共享服务器的方法(已验证实现)
- 【文件上传 前端】文件上传 前端 Part2 —— HTML5 文件指针方式
- 微信小程序业务域名配置:校验文件验证失败,请下载校验文件,上传到服务器指定的目录
- 【文件上传 前端】文件上传 前端 Part2 —— HTML5 文件指针方式
- html5前端实现文件分割上传
- 从实战中学前端:打造自己的html5文件上传插件
- HTML5 文件域+FileReader 分段读取文件并上传到服务器(六)
- curl 模拟表单提交文件 跨域跨服务器上传文件
- HTML5 文件域+FileReader 分段读取文件并上传到服务器(解决传输量小 慢)
- js html5 上传文件、多文件,服务器 端php
- post提交/文件上传服务器修改
- java实现ftp跨服务器上传文件并用html5流媒体播放
- golang写服务端程序,作为文件上传与下载的服务器。配合HTML5以网页作为用户页面
- HTML5 文件域+FileReader 读取文件并上传到服务器(三)
- html5 实现客户端验证上传文件的大小(简单实例)