JS自定义函数对web前端上传的文件进行类型大小判断
废话不多说了直接给大家贴js代码了。具体代码如下所示:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>web前端对上传的文件进行类型大小判断的js自定义函数</title> </head> <body> <form> <input type="file" id="fileId"> <input type="button" value = "提交" onclick="checkFileSizeAndType(10*1024*1024,['gif','jpg','png'],'fileId');"> </form> <script> //参数说明 //maxSize 代表允许最大上传的文件大小,单位是字节 //allowType 代表允许上传的文件类型(后缀) //fileId 代表input type=file 框 的id function checkFileSizeAndType(maxSize,allowType,fileId) { //默认大小 if(!maxSize){ maxSize=10*1024*1024; } //默认类型 if(!allowType){ allowType=new Array('jpg','png'); } //js通过id获取上传的文件对象 var file = document.getElementById(fileId); var types =allowType; var fileInfo = file.files[0]; if(!fileInfo){ alert("请选择文件!"); return false; } var fileName = fileInfo.name; //获取文件后缀名 var file_typename = fileName.substring( fileName.lastIndexOf('.') + 1, fileName.length); //定义标志是否可以提交上传 var isUpload = true; //定义一个错误参数:1代表大小超出 2代表类型不支持 var errNum =0; if (fileInfo) { if (fileInfo.size > maxSize) { isUpload = false; errNum=1; } else { for ( var i in types) { if (types[i] == file_typename) { isUpload = true; return isUpload; } else { isUpload = false; errNum=2; } } } } //对错误的类型进行对应的提示 if (!isUpload) { if(errNum==1){ var size = maxSize/1024/1024; alert("上传的文件必须为小于"+size+"M的图片!"); }else if(errNum==2){ alert("上传的"+file_typename+"文件类型不支持!只支持"+types.toString()+"格式"); }else{ alert("没有选择文件"); } file.value=""; return isUpload; } } </script> </body> </html>
相关推荐
88274956 2020-11-03
runner 2020-09-01
梦的天空 2020-08-25
移动开发与培训 2020-08-16
ReunionIsland 2020-08-16
lyqdanang 2020-08-16
MyNameIsXiaoLai 2020-07-08
星辰的笔记 2020-07-04
csstpeixun 2020-06-28
letheashura 2020-06-26
liaoxuewu 2020-06-26
sunzhihaofuture 2020-06-21
FEvivi 2020-06-16
坚持着执着 2020-06-16
waterv 2020-06-14
xiaoge00 2020-06-14
firejq 2020-06-14
firstboy0 2020-06-14
e度空间 2020-06-12
zhongweinan 2020-06-10