Javascript HTML5文件API,具有多个顺序文件,而不是一次全部文件

Javascript HTML5文件API,具有多个顺序文件,而不是一次全部文件,javascript,jquery,html,file,Javascript,Jquery,Html,File,我正在构建BackboneJS/Marionette应用程序,目前正在尝试允许用户上传多个文件 当他们同时选择多个文件时,这是可行的,但我希望有一个功能,允许他们选择一个文件,然后再次单击输入,并尽可能添加到原始文件列表对象 或者,我想找到一种方法,允许我的保存功能在需要时从多个输入中获取文件 我愿意接受任何建议 这是我正在使用的HTML5文件API代码,我正在使用 HTMLInputElement中的文件列表对象是将在您的input.Files中保存文件的基础对象。只有在input.value

我正在构建BackboneJS/Marionette应用程序,目前正在尝试允许用户上传多个文件

当他们同时选择多个文件时,这是可行的,但我希望有一个功能,允许他们选择一个文件,然后再次单击输入,并尽可能添加到原始文件列表对象

或者,我想找到一种方法,允许我的保存功能在需要时从多个输入中获取文件

我愿意接受任何建议

这是我正在使用的HTML5文件API代码,我正在使用


HTMLInputElement中的文件列表对象是将在您的input.Files中保存文件的基础对象。只有在input.value=null时,才能修改该对象以完全清除它

为了避免这种情况,由引入,但到今天为止,只有Chrome和最新的Firefox支持这种构造函数

因此,在这种情况下,最简单的方法是不依赖默认UI,而是将所有文件移动到常规阵列中,这样您就可以根据需要进行编辑

这里有一个混乱的方法,但它可能会给你一个很好的起点: 它确实向您的输入中添加了一个数组,将添加的文件保存在内存中

//每次更改隐藏输入时,都会调用multiUp函数 document.querySelector'input'。addEventListener'change',multiUp,false; 函数多重{ //如果这是我们第一次叫它 如果!这是多文件{ //创建将文件保存在内存中的数组 this.multiFiles=[]; //添加指向显示文件名的范围的指针 this.u fileHolder=document.querySelector'fileHolder'; } //每次:清空文件持有者范围 这个._fileHolder.innerHTML=; var i; //将新文件添加到阵列中
fori=0;此解决方案的唯一问题是,当我实际去保存和上载时,它是从inputs FileList对象中提取的,该对象将只选择最后一个文件,而不是获取我们拥有的数组created@LoganRx不,请仔细阅读代码片段后的最后一句话:您现在可以通过迭代访问这些文件document.querySelector'.multiUp>input'.multiFiles。实际上,您可以将document.querySelector'.multiUp>input'更改为为此输入设置的任何变量。但是您必须将您对input.files的操作更改为input.multiFiles EA,很抱歉,我误读了它,我需要查看应用程序现在是如何获取文件的,并直接执行它将从FileList对象中删除,然后返回到阵列,现在就可以跟踪它了
<input id="uploads" name="uploads" type="file" class="file uploads file1" multiple style="display: none"/>
<a href="#" id="fileSelect">Select File 1</a><br>