使用iframe方式上传图片,并检测图片大小(解决js限制图片大小在浏览器兼容性方面不行)

使用iframe方式上传图片,检测图片大小:

http://perfectlife.iteye.com/blog/396959

下面js,兼容性问题,无法实现:

function  checkform(obj){
        str=obj.value.toLowerCase();
        var ext=str.split(".");
        var type=fileType.split(",");
        for(var i=0;i<type.length;i++){
          //alert(ext[1]+","+type[i]);
          if(ext[1]==type[i]){
             bool=true;
             //alert(bool);
          }
        }
       if(bool){
          var boolSize=checkSize(str);
          //alert(boolSize);
          if(boolSize==false){
           alert("你上传的图片太大,不能超过"+fileSize+"KB");
           return false;
          }
        }else{
            bool=false;
             alert("你上传的类型不是"+type+"中的一种");
             return false;
        }
     }
     function checkSize(fileName){
       var img=new Image();
         img.src=str;
         fsize=img.fileSize/1024;
        fsize=fsize.toFixed(1);
        alert(fsize);
        if(img.readyState!="complete"){
          bool=false;
          return false;
       }else{
          //alert(fsize+","+fileSize);
          if(fsize>fileSize){
              bool=false;
            return false;
          }else{
           bool=false;
           return true;
         }
        }
     }








var imgSize = 1024 * 100; //最大100K
var temp = false;
function checkImgSize(obj){
   
    if(obj.value != ""){
        
        //检测类型
        var val = obj.value;
        if(/^.*?\.(gif|png|jpg|jpeg|bmp)$/.test(val)){
        }else{
            alert("只能上传gif, png, jpg, bmp格式的图片");
            temp = false;
            return false;
        }
        
        var img = new Image();
        img.onreadystatechange = function(){
            if(img.readyState == "complete"){
                if(img.fileSize <=0 || img.fileSize > imgSize){
                    alert("当前文件大小" + img.fileSize / 1024 + "KB, 超出最大限制 " + imgSize / 1024 + "KB");
                    temp = false;
                    return false;
                }else{
                temp = true;
                    return true;
                }
            }
        }
        
        img.src = val;

    }


-----待检验,只是暂时存储,请别copy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值