考虑这个 HTML 片段:
<input type='file' id='fileUpload' />
要在 JavaScript 中访问此控件,我们可以编写:
var temp = document.getElementById('fileUpload');
好吧,别生气,我知道你们都知道这一点。但有趣的是,temp
变量现在有一个名为 files
的属性,(不是 file,而是 files , 复数形式)是 FileList
类型,当然是 File
对象的列表。这语义上 应该意味着通过一个并且只有一个 HTML 文件上传控件上传多个文件应该是可能的。但是,您不能通过这种方式上传多个文件,并且有很多解决方法,而不是直接使用。
你如何解释这个悖论?
更新:我构建了这个 jsfiddle查看实际的答案之一。
最佳答案
在 HTML5 中,multiple 属性指定可以为输入字段选择多个值。
<input type='file' multiple='multiple' />
这些链接应该有帮助:
http://www.w3schools.com/html5/html5_form_attributes.asp
http://rakaz.nl/2009/08/uploading-multiple-files-using-html5.html
关于javascript - 为什么 "HTML <input type=' file'/>"has "files"属性在 JavaScript 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7396511/