Рассмотрим этот фрагмент HTML:
<input type='file' id='fileUpload' />
Чтобы получить доступ к этому элементу управления в JavaScript, мы можем написать:
var temp = document.getElementById('fileUpload');
ОК, не сердитесь, я знаю, вы все это знаете. Но интересно то, что переменная temp
теперь имеет свойство с именем files
, (не file , а files , форма множественного числа), которое имеет тип FileList
что, конечно, является списком File
объектов. Это семантически должно означать, что загрузка нескольких файлов с помощью одного и только одного элемента управления загрузкой файлов HTML должна быть возможной. Тем не менее, вы не можете загрузить несколько файлов таким способом, и есть много обходных путей, а не прямое использование.
Как вы объясните этот парадокс?
Обновление: я построил jsfiddle , чтобы увидеть один из ответов в действии.