上传图片js判断图片尺寸和格式

js代码:
$(".head").change(function() {
        var val = $(this).val();


        if(!val.match( /.jpg|.gif|.png|.bmp/i ) ){     
          imgtype = false;
          alert('图片格式无效!');     
         
        }else{
            if (FileReader) {
            var reader = new FileReader(),
                file = this.files[0];
            reader.onload = function(e) {
                var image = new Image();
                image.src = e.target.result;
                image.οnlοad=function(){
                if(image.width > 128 || image.height > 128){
                  fill = false;
                  alert("头像尺寸应在128x128之间");
                }  
                 
              }
               
               
            };
            reader.readAsDataURL(file);
        }else{
          //这是ie9版本
          $(".preview_size_fake").show();
          var objPreviewSizeFake = $(".preview_size_fake").get(0);
          var fileupload = $(this).get(0);
          fileupload.select();
          fileupload.blur();
          path = document.selection.createRange().text;
          
          if (/"\w\W"/.test(path)) {
              path = path.slice(1,-1);
          }
          
          objPreviewSizeFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = path; 
          if(objPreviewSizeFake.offsetWidth > 128 || objPreviewSizeFake.offsetHeight > 128){
              fill = false;
              alert("头像尺寸应在128x128之间");
            }
            document.selection.empty();
          }
        }
      
        });
css代码(这个是必须写的,如果不写,ie下不起作用)
.preview_size_fake{ /* 该对象只用来在IE下获得图片的原始尺寸,无其它用途 */     
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);   
height: 1px;
visibility:hidden;   
overflow: hidden;  
display: none;
}
html代码:
<input class="head" type="file" name="avatar">
<img class="preview_size_fake" />  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值