問題は、jQueryで入力されたファイルからファイルを選択しようとした方法でした。解決策の例を次に示します。
入力ファイルが1つで、ユーザーが選択できるファイルは1つだけの場合:
// Get the file
var file = $('input[type="file"]').get(0).files[0];
// File size, in bytes
var size = file.size;
1つのファイル入力があり、複数のファイルを選択する場合は、次を選択します。
// Get an array of the files
var files = $('input[type="file"]').get(0).files;
// Loop through files
for (var i=0; file = files[i]; i++) {
// File size, in bytes
var size = file.size;
}
複数のファイルを入力し、複数のファイルを選択する場合は、次を選択します。
// Loop through each file input
$('input[type="file"]').each(function(i) {
// Get an array of the files for this input
var files = $(this).get(0).files;
// Loop through files
for (var j=0; file = files[j]; j++) {
// File size, in bytes
var size = file.size;
}
});
Fileオブジェクトを取得したら、アクセスできるプロパティは次のとおりです(サイズは別として)。
https://developer.mozilla.org/en-US/docs/DOM/File#Properties