如何从HTMLinputtypes“文件”或任何其他方式获取文件夹目录?

所以我有一个基本的表单inputtypes"file"但我希望用户能够select一个文件夹的位置,而不是一个文件。

我怎样才能得到这个input来select一个文件夹,而不是一个文件,或者有另一种方式来做到这一点?

偶然发现这个页面,然后发现这是可能的只是JavaScript(没有像ActiveX或Flash插件),但只是在铬:

https://plus.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3

基本上,他们增加了对文件input元素“webkitdirectory”的新属性的支持。 你可以像这样使用它:

<input type="file" id="ctrl" webkitdirectory directory multiple/>

它允许你select目录。 对于支持多个文件select而不是目录select的浏览器来说,multiple属性是一个好的回退。

当你select一个目录时,这些文件可以通过控件的dom对象(document.getElementById('ctrl'))获得,就像它们具有multiple属性一样。 浏览器recursion地将所选目录中的所有文件添加到该列表中。

你已经可以添加目录属性,以防万一它在某个时候被标准化(找不到任何有关的信息)

您最有可能在使用flash / silverlight / activeX控件。 <input type="file" />控件不处理这个。

如果您不介意用户select文件作为获取其目录的手段,则可以绑定到该控件的change事件,然后剥离文件名部分并将path保存到某个位置 – 但是这样做的好处是。

请记住,网页旨在与服务器进行交互。 没有关于提供一个本地目录到远程服务器是“典型的”(一个服务器无法访问它,所以为什么要问它? 但是文件是有select地传递信息的手段。

尽pipe这是一个古老的问题,但这可能有助于某人。

我们可以select多个文件,同时使用“多个”浏览文件

 <input type="file" name="datafile" size="40" multiple>