控制上传图片容量的问题

对上传图片进行限制,只允许上传小于2M的图片,用遨游2没问题,但用纯IE7居然不起作用,在Firefox下面也没用
代码如下:

var imgSize = 1024 * 2048;  
var error = 0;
function checkImgSize(){
    var file = document.getElementById("fileObject");
    if(file.value != ""){
    
    //检测类型
    var val = file.value.toLowerCase();
   if(/^.*?\.(gif|jpg|jpeg)$/.test(val)){
   }else{
       alert("作品格式不正确,必须是jpg图片、jpeg图片或者gif图片");
       return false;
   }
    
   var img = new Image();
   alert("error="+error);
   img.src = val;
   alert("img.src="+img.src);
   alert(1);
   if(img.readyState){ //IE
      img.onreadystatechange = function(){
         alert(2);
         if(img.readyState == "complete"){
            alert(3);
            if(img.fileSize <=0 || img.fileSize > imgSize){
               alert("当前文件大小超出最大限制" + imgSize / (1024 * 1024) + "MB");
               error=1;
            }
         }
      }
   }else{ //FF
      img.onload = function(){
          alert(4);
          if(img.fileSize <=0 || img.fileSize > imgSize){
               alert("当前文件大小超出最大限制" + imgSize / (1024 * 1024) + "MB");
               error=1;
          }
      }
   }

  }
  if(error == 0){
  Dosubmit();
  }else{
  error = 0;
  }
}

 

访问本地文件也只有IE有Activex控件支持. fileSystemObject, 但在使用时用户会提示加载Activex控件.

用image.src也可以取巧来这么做, 但用JS访问本地资源是一件很不安全的行为.
所以在IE7以上的版本都干掉这个漏洞了.

在服务器端进行控制啊。单纯在客户端坐做控制很不安全的