为什么;HTML<;输入类型=';文件'/&燃气轮机&引用;有",;档案;JavaScript中的属性?

为什么;HTML<;输入类型=';文件'/&燃气轮机&引用;有",;档案;JavaScript中的属性?,javascript,html,file,upload,Javascript,Html,File,Upload,考虑以下HTML代码段: <input type='file' id='fileUpload' /> 好吧,别生气,我知道你们都知道。但有趣的是,temp变量现在有一个名为files(不是file,而是files,复数形式)的属性,它的类型是FileList,当然是file对象的列表。语义上这意味着可以通过一个且仅一个HTML文件上载控件上载多个文件。但是,您不能以这种方式上载多个文件,而且有许多解决方法,而不是直接使用 你如何解释这个悖论 更新:我构建这个函数是为了查看一个实际的

考虑以下HTML代码段:

<input type='file' id='fileUpload' />
好吧,别生气,我知道你们都知道。但有趣的是,
temp
变量现在有一个名为
files
(不是file,而是files,复数形式)的属性,它的类型是
FileList
,当然是
file
对象的列表。语义上这意味着可以通过一个且仅一个HTML文件上载控件上载多个文件。但是,您不能以这种方式上载多个文件,而且有许多解决方法,而不是直接使用

你如何解释这个悖论


更新:我构建这个函数是为了查看一个实际的答案。

在HTML5中,multiple属性指定可以为一个输入字段选择多个值

<input type='file' multiple='multiple' />

这些链接应有助于:


根据,它仅适用于通过拖放方式使用文件上载元素。

以便我们可以在客户端上以这种方式读取所选文件的内容:

从3.0版开始,Firefox就可以做到这一点。当时我已经写了一篇关于如何进行真正的Ajax文件上传的广泛文章:


如今,Firefox3.0API已经被删除。相反,您应该将对象与对象一起使用。这应该适用于最新的浏览器版本。我还没有做过广泛的研究,但我相信没有任何版本的IE能够实现这些功能。

如果文件输入被命名为数组(例如,
file[]
),那么文件是否都会进入一个
FileList
?@Dani,我真的很高兴听到你的好消息。我认为这是不可能的。但我真的很高兴听到这是可能的。我只是兴奋地看到了这一点。所以,从技术上来说,这意味着多个文件将通过HTTP Post发送,是吗?不,那不是真的。上面写着“它也被使用了”(强调我的)。
<input type='file' multiple='multiple' />