如何允许用户选择<input type =“file”/>标记中的任何文件或目录?

时间:2017-03-06 18:50:10

标签: javascript html

通过创建输入标记,例如:

<input type="file">

用户无法选择目录。通过启用某些标志:

<input type="file" webkitdirectory mozdirectory msdirectory odirectory directory multiple>

用户现在可以选择任何目录,但不能选择单个文件。

有没有办法同时启用它们?

3 个答案:

答案 0 :(得分:1)

现在这是不可能的。

mozillachrome有多个请求已开启,您可能希望了解这些请求。

答案 1 :(得分:1)

您只能启用其中一个。

<input type="file" id="myFiles" webkitdirectory mozdirectory msdirectory odirectory directory multiple>

使用&#39;标准&#39;选择文件和目录的唯一方法方法是提供两个单独的input元素。

无论如何,当您选择目录时,DOM object使用document.getElementById('myFiles')可以使用这些文件。

答案 2 :(得分:1)

注意,在firefox上,允许目录上传的属性为allowdirs,而不是mozdirectory

firefox在设置<input type="file">属性时呈现两个allowdirs元素,一个用于文件上载,一个用于目录上载;铬没有。

一种解决方法是利用拖放功能读取单个文件,多个文件,目录或多个目录。

另一种解决方法是包含两个<input type="file">元素;一个人webkitdirectory,另一个人multiple属性设置。

有关处理单个文件,多个文件,单个目录或多个目录上载的实现,请参阅How to upload and list directories at firefox and chrome/chromium using change and drop events