2014-01-24 72 views
0

我的主要目標是如果File(即一個jpeg)沒有最小尺寸,則將_validateFile返回false。我遇到的問題是,它看起來像下面的代碼正在受到打擊,我不能從_validateFile返回false。我想我必須使用閉包,但我不確定。這裏是一些代碼:FileReader onload callback

_validateFile: function(file){ 

var validDim = 1; 

this._helper(file, function(x,y){ 
    if(x < 682 || y < 459){ 
     validDim = 2; 
    } else{ 
     validDim = 3; 
    } 
}); 

    if(validDim == 2) return false; 
    else if(validDim == 3) return true; 
    return true; 

}, 

_helper: function(file, callback){ 

    var fr = new FileReader; 

fr.onload = function() { 
    var img = new Image; 

    img.onload = function(){ 
       var x = img.width; 
       var y = img.height; 
       callback(x,y); 
      } 

    img.src = fr.result; 
}; 
fr.readAsDataURL(file); 
}, 

任何指針在正確的方向非常感謝。

謝謝!

回答

0

你失蹤「()」來調用構造函數

var fr = new FileReader(); 
var img = new Image(); 

你能不能給你使用這個對象的方法(_validateFile)的方式比較詳細的代碼?