HTML多文件上传队列

时间:2012-07-21 23:01:34

标签: javascript html

我正在寻找一些方法来为文件上传按钮创建一个排序队列。使用以下代码:

<input type = 'file' name = 'file[]' multiple = 'multiple' />

现代浏览器允许您一次选择多个文件进行上传。但是,如果再次单击该按钮并选择更多文件(例如,从其他文件夹中选择),则会删除当前选定的文件。有没有办法让新选择的文件集不会覆盖旧的文件?

2 个答案:

答案 0 :(得分:1)

虽然我不确定HTML5,但出于安全考虑,以前版本的JS不会让你这样做。您无法更改用户选择上传的文件,或者您可以更改文件路径并从硬盘驱动器上传您想要的任何文件(例如,包括密码文件)。

对此的一个解决方案是拥有多个文件输入,而不是一个带有多个文件的文件输入。当用户选择要上载的文件时,动态添加它们。例如,您可以向最新的文件输入添加onchange侦听器,当用户选择文件时,删除侦听器,然后添加另一个文件输入(将onchange侦听器附加到此新文件输入)。当然,这些输入需要某种增量命名方案,服务器需要处理生成的上传。

答案 1 :(得分:0)

是的,有一种方法可供我使用。

听这个;当用户选择文件时,使用CSS隐藏此输入并生成具有不同名称的另一个输入。您将需要一个信息,其中有多少信息,因此您可以添加初始值为1的隐藏输入,并且每次都可以+1。

希望这有帮助。