Używam interfejsu API pliku HTML5 do odczytywania plików binarnych. Użytkownik może wybrać wiele plików, a następnie kliknąć przycisk, aby skopiować je do obiektu JavaScript. Mój kod jest tutaj wymienione:Odczytywanie wielu plików w pętli przy użyciu interfejsu API pliku HTML5
<script>
var data = new Object;
function ReadFiles()
{
var files = document.getElementById('file').files;
for (var i = 0; i < files.length; i++) {
var reader = new FileReader();
reader.onloadend = function (evt) {
if (evt.target.readyState == FileReader.DONE) {
data["File_Content" + i] = btoa(evt.target.result);
}
};
reader.readAsBinaryString(files[i]);
}
}
</script>
<input type="file" id="file" name="file[]" multiple />
<button onclick="ReadFiles();">Read Files</button>
Jeśli użytkownik umieszcza w trzech plików, to tylko inwalidą własność „File_Content3” zostanie dodana do obiektu „dane” z wartością; pozostałe trzy ważne właściwości "File_Content0", "File_Content1" i "File_Content2" nie są tworzone.
Czy ktoś może rozwiązać problem? Dzięki.