2013-11-21 41 views
0

只是試圖學習它。我試圖驗證上傳的圖像。使用下面的代碼檢查圖像類型是否正常工作。但我試圖檢查它的大小。任何人都可以解釋爲什麼這不工作請。正在檢查圖片的大小Jquery

謝謝。

$('#File').change(function (evt) { 
      var f = evt.target.files[0]; 
      var reader = new FileReader(); 


      var H = f.height; 
      var W = f.width; 

      if (W > 100) { 
       alert("The selected file is too large."); 
       return; 
      } 


      if (!f.type.match('image.*')) { 
       alert("The selected file does not appear to be an image."); 
       return; 
      } 

      setBox('#IsFile'); 
      reader.onload = function (e) { preview.attr('src', e.target.result); }; 
      reader.readAsDataURL(f); 
     }); 
+0

它不工作,因爲API提供了用於不支持它。換句話說,「高度」和「寬度」屬性將始終爲「未定義」。 (至少,在我的瀏覽器中是這樣。) – Pointy

+0

感謝您的回覆。那麼是不是可以檢查jQuery中的圖像大小? – loveforfire33

+0

那麼你可以做到這一點,但你必須閱讀文件內容,然後解碼圖像格式,以便用自己的代碼提取該信息。 – Pointy

回答

0

一種解決方法是將圖像加載到離屏圖像元素,然後使用類似於此的方法檢測的寬度/高度:

var img = document.getElementById('offscreenImageId'); 
//or however you get a handle to the IMG 
var width = img.clientWidth; 
var height = img.clientHeight;