いくつかのテキスト ファイルを読み取り、これらのファイルの詳細と内容を含むオブジェクトの配列を返す次のコードがあります。
var getFilesContents = function( fileInput ) {
var fileCount = fileInput.files.length,
results = [ ];
// Pushing meta datas
for( var f = 0; f < fileCount; ++f ) {
var file = fileInput.files[f];
results.push({
name : file.name,
mime : file.type,
format : file.name.match(/\.[0-9a-z]+$/i)[0].substr(1),
size : file.size
});
}
// Pushing contents
for( var f = 0; f < fileCount; ++f ) {
var reader = new FileReader();
reader.onload = function() {
results[f].content = this.result;
};
reader.readAsText( fileInput.files[f] );
}
return results;
};
ファイルの詳細は正しいのですが、何らかの理由で内容が常に未定義です。正しいプロパティ (this.result) にアクセスしていますか? 私は何を間違っていますか?