如何从相同的输入类型上传文件夹和文件?

R. *_*Dey 5 html

我正在使用一个表单,我可以在其中上传文件或完整文件夹。我正在使用以下代码:

<html>
  <input type = "file" id = "file" name = "files[]" multiple/>
  <input id="file" type=file multiple webkitdirectory directory>
</html>
Run Code Online (Sandbox Code Playgroud)

第一次输入时,我可以上传文件但不能上传文件夹,第二次输入时,我可以上传文件夹但不能上传文件。但我希望能够使用相同的输入上传两者。

请告诉我可以通过单击上传文件和文件夹的确切代码是什么。

evi*_*iko 3

当我写这篇文章时,这对于纯 HTML 是不可能的,除非您使用 Flash 之类的插件,否则也许这是可能的。

1 文件上传:

<input type="file" name="file">
Run Code Online (Sandbox Code Playgroud)

多个文件上传(但必须位于同一文件夹中):

<input type="file" name="file[]" multiple>
Run Code Online (Sandbox Code Playgroud)

1 文件夹上传(注意:并非所有浏览器都支持此功能):

<input type="file" name="file" webkitdirectory directory>
Run Code Online (Sandbox Code Playgroud)

目前可能无法上传多个文件夹。

这是一个可能有效的技巧(但我没有测试它):您可以直接将文件和文件夹拖放到输入字段中,例如从桌面拖放到浏览器的输入中。尝试选择文件和文件夹并将它们拖放到输入字段中,但我不知道它们是否会正确上传到服务器。

编辑:

刚刚测试了这个技巧,它不起作用:/