使用jQuery FileReader获取宽度和高度?

时间:2015-12-19 03:07:15

标签: javascript jquery filereader

当我选择图像时,我正在使用jQuery在div(#image-preview)中显示图像,而我无法弄清楚如何获得图像的宽度和高度;我正在使用“this.width”和“this.height”。

这是我的代码:

"query":{  
      "bool":{  
         "must":[  
            {  
               "match":{  
                  "Receipts.retailerId": "55f5878916c042cc8731a39e4e05b7a0" 
               }
            },
            {  
               "match":{  
                  "Receipts.totalCost": 10
               }
            }
         ]
      }
   }

2 个答案:

答案 0 :(得分:1)

FileReader没有属性width和height。您可以使用Image代替以下内容。希望这会对你有所帮助。



$('input#photo').on('change', function () {
      var files = !!this.files ? this.files : [], _URL = window.URL || window.webkitURL;
      if (!files.length) return;

      if (/^image/.test(files[0].type)) { 
         var img = new Image();
         img.onload = function () {
              $('div#image-preview').css('display', 'inline-block');
              $('div#image-preview').css('background-image', 'url(' + this.src + ')');
              $('div#image-preview').css('width', this.width);
              $('div#image-preview').css('height', this.height);
         };
         img.src = _URL.createObjectURL(files[0]);
      }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="photo"/>
<div id="image-preview"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

尝试使用此方法将照片的宽度和高度保存到变量,在第一个函数的开头,然后,在第二个函数中使用这些变量。这是范围问题。