79

所以我有一个带有类型的基本表单输入,"file"但是我希望用户能够选择文件夹位置而不是文件。

如何获取此输入以选择文件夹而不是文件,或者有其他方法吗?

4

3 回答 3

84

也偶然发现了这个页面,然后发现只用 javascript 就可以做到这一点(没有像 ActiveX 或 Flash 这样的插件)

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

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

它允许您选择目录。对于支持多个文件选择但不支持目录选择的浏览器,multiple 属性是一个很好的后备选项。

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

您也可以添加目录属性,以防它在某个时候标准化(找不到任何相关信息)

于 2013-05-27T14:03:18.870 回答
0

您很可能正在考虑使用 flash/silverlight/activeX 控件。<input type="file" />控件不处理。

如果您不介意用户选择文件作为获取其目录的一种方式,您可以绑定到该控件的change事件,然后剥离文件名部分并将路径保存在某处 - 但这与它所获得的一样好。

请记住,网页旨在与服务器交互。为远程服务器提供本地目录没有什么是“典型的”(服务器无法访问它,为什么要请求它?);然而,文件是选择性传递信息的一种手段。

于 2012-10-17T20:06:02.527 回答
-7

尽管这是一个老问题,但这可能会对某人有所帮助。

我们可以在使用“多个”浏览文件时选择多个文件

<input type="file" name="datafile" size="40"  multiple> 
于 2017-03-21T06:29:24.897 回答