在上传文件的时候一般要检测文件的类型或者大小,这是出于各种因素的考虑,当然一般会有两层检测一个是在前端,一个是在后端,下面就介绍一下如何使用js在前端检测文件的格式和大小。
   [ 其他 ] 运行代码    下载代码
<script>
var url=window.location.href,type=url.substr(url.lastIndexOf('/')+1); 
var allowType={ 
  ".bmp":1, ".png":1, ".jpeg":1, ".jpg":1, ".gif":1, 
  ".mp3":2, ".wma":2, ".wav":2, ".amr":2, 
  ".rm":3, ".rmvb":3, ".wmv":3, ".avi":3, ".mpg":3, ".mpeg":3, ".mp4":3 
}; 
var allowSize={1:2097152, 2:5242880, 3:20971520}; 
var errMsg={ 
  "0":'图片格式不正确<br/>'
  +'音频格式不正确<br/>'
  +'视频格式不正确<br/>', 
  "1":'图片格式不正确', 
  "2":'音频格式不正确', 
  "3":'视频格式不正确'
}; 
var errSizeMsg={ 
  '1':'图片文件小于2M', 
  '2':'音频文件小于5M', 
  '3':'视频文件小于20M', 
} 
function checkFileType(filename,type)
{ 
  var ext=filename.substr(filename.lastIndexOf(".")).toLowerCase(), 
  res=allowType[ext]; 
  if(type==0) 
  { 
    return !!res; 
  } 
  else
  { 
    return type == res; 
  } 
} 
function checkFileSize(target, size)
{ 
  var isIE=/msie/i.test(navigator.userAgent) && !window.opera; 
  var fileSize=0; 
  if(isIE && !target.files) 
  { 
    var filePath = target.value; 
    var fileSystem = new ActiveXObject("Scripting.FileSystemObject"); 
    var file = fileSystem.GetFile (filePath); 
    fileSize = file.Size; 
  } 
  else
  { 
    fileSize = target.files[0].size; 
  } 
  if(parseInt(fsize) >= parseInt(size))
  { 
    return false; 
  }
  else
  { 
    return true; 
  } 
} 
function upload(obj)
{ 
  var filename = jQuery.trim(jQuery('#uploadFile').val()); 
  if (!filename || filename == "")
  { 
    alert('选择需要上传的文件'); 
    return false; 
  } 
  if (!checkFileType(filename, type))
  { 
    alert('文件格式不正确'); 
    return false; 
  } 
  var ext=filename.substr(filename.lastIndexOf(".")).toLowerCase(); 
  var res = allowType[ext]; 
  if(!checkFileSize(obj,allowSize[res]))
  { 
    alert(errSizeMsg[res]); 
    return false; 
  } 
}
</script>

代码描述:javascript检测 上传文件 格式大小。javascript检测上传文件的格式和大小实例代码



134 179



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册



×
×
51前端

注册

×
绑定手机

请绑定手机号,在继续操作

×
单次下载支付

应付金额:279

支付完成后,回到下载页面,在进行下载

官方QQ群
意见反馈
qq群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到