window24 2010-07-01 12:41
浏览 280
已采纳

控制上传图片容量的问题

对上传图片进行限制,只允许上传小于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;
  }
}
  • 写回答

2条回答 默认 最新

  • eplang 2010-07-01 13:51
    关注

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型