Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML多文件上载队列_Javascript_Html - Fatal编程技术网

Javascript HTML多文件上载队列

Javascript HTML多文件上载队列,javascript,html,Javascript,Html,我正在寻找一些方法来创建一个文件上传按钮排序队列。使用以下代码: <input type = 'file' name = 'file[]' multiple = 'multiple' /> 现代浏览器允许您一次选择多个文件进行上传。但是,如果再次单击该按钮并选择更多文件(例如从其他文件夹),则会删除当前选定的文件。有没有办法使新选择的文件集不覆盖旧文件集?是的,有一种方法我用过 听这个;当用户选择文件时,使用CSS隐藏此输入,并生成另一个具有不同名称的输入。您将需要一个信息,其

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

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


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

是的,有一种方法我用过

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


希望这能有所帮助。

虽然我不确定HTML5,但出于安全原因,以前版本的JS不允许您这样做。您不能更改用户选择上载的文件,或者您可以更改文件路径并从其硬盘上载您想要的任何文件(例如,包括密码文件)


解决这个问题的一个方法是使用多个文件输入,而不是使用一个文件来获取多个文件。在用户选择要上载的文件时动态添加它们。例如,您可以将onchange侦听器添加到最新的文件输入中,当用户选择了一个文件时,删除该侦听器,然后添加另一个文件输入(将onchange侦听器附加到此新文件输入中)。当然,对于这些输入,您需要某种增量命名方案,并且您的服务器需要处理由此产生的上载。

当您看到这一点时,它往往是通过闪存完成的,因为正常的文件输入只允许您选择一个。不一定。可以使用XHR和iFrame(在较旧的浏览器中)来完成。看看我的答案。