2011-07-22 18 views
3

私は、Google Chromeブラウザを使用していると私は、コンソールで次のコードを実行し、動作するように思われるが、私はそれがないスクリプトではありませんHTML5 FileReaderの問題

reader = new FileReader(); 
reader.readAsDataURL($("input[name='image']")[0].files[0]); 
alert(reader.result) 
somevarname=reader.result 

コンソールのショーでそれを実行すると結果はデー​​タURLとして返されますが、スクリプトではjavascriptは変数に結果を代入せず、警告は空の文字列です。私は間違って何をしていますか?結果は

alert(reader.result) 
somevarname=reader.result 

が設定されているスクリプトが実行されるように

答えて

7

FileReaderのは、非同期です。 結果を取得するには、FileReaderのonloadプロパティを使用する必要があります。
例:良いHTML5ファイルAPIのチュートリアルについては

var reader = new FileReader(); 
//This function will execute when the reader is done 
reader.onload = function(){alert(this.result);}; 
reader.readAsDataURL($("input[name='image']")[0].files[0]); 

HTML5 Rocksに行きます。