在 Firefox 中为 HTML5 多文件输入选择目录?

Posted

技术标签:

【中文标题】在 Firefox 中为 HTML5 多文件输入选择目录?【英文标题】:Select directory for HTML5 multiple file input in Firefox? 【发布时间】:2012-03-20 01:45:16 【问题描述】:

我想让用户在网页上选择一个本地目录(然后读取目录中的所有文件)。

在 Chrome 中,我可以添加 webkitdirectory 属性来启用此功能。根据this question 中的评论和this question 的回答,您应该可以在Firefox 中使用mozdirectory 执行相同的操作,但我无法使其正常工作。

我在 Firefox 中尝试了以下操作,但没有成功(在 Chrome 中有效):

 <input type="file" id="files" name="files[]" multiple mozdirectory="" webkitdirectory="" directory="" />

我的 Firefox 版本是 10.0。

有没有什么方法可以让用户在 Firefox 中选择一个目录进行输入,而不需要客户端上的附加组件(如 Flash)?

【问题讨论】:

我认为 mozdirectory 是一个神话 现在可以了!看我的回答:***.com/a/33431704/195216 【参考方案1】:

Firefox 还没有任何 API 来上传目录(这很遗憾)......即使在夜间构建中也没有,所以我认为我们不会很快看到对此的支持。 IE 也没有。如果您想利用此功能,您必须强制用户使用 Google Chrome(例如,让他们知道上传目录仅在 Chrome 中可用)。

解决方法是将目录压缩为 .zip 文件并使用 FileReader API 读取它。见https://***.com/a/7842896/613453

更新 IE Edge 现在支持此功能。https://msdn.microsoft.com/en-us/library/mt574730(v=vs.85).aspx

【讨论】:

【参考方案2】:

现在您可以使用 chrome 拖放来上传目录

阅读这篇文章你会得到更多的信息

http://updates.html5rocks.com/2012/07/Drag-and-drop-a-folder-onto-Chrome-now-available

【讨论】:

这不能回答问题。

以上是关于在 Firefox 中为 HTML5 多文件输入选择目录?的主要内容,如果未能解决你的问题,请参考以下文章

Firefox 在其请求中为 HTML5 GeoLocation 数据发送啥?

如何使 html5 滑块(输入类型='范围')在 Firefox 中工作

使用 HTML5 拖放防止拖动事件干扰 Firefox 中的输入元素

Angular.js 和 HTML5 日期输入值——如何让 Firefox 在日期输入中显示可读的日期值?

如何在 Selenium Webdriver 3 中为 Firefox 驱动程序设置默认配置文件?

在 CoreML 中为循环网络定义可选输入