HTML页面中的目录选择器

时间:2010-05-11 10:04:34

标签: html directory

如何在html页面中创建目录选择器 如果我使用输入文件元素我只能选择文件,但我需要选择目录 我需要这样做,因为用户应该在他的计算机内选择正确的路径 任何解决方案?

6 个答案:

答案 0 :(得分:61)

试试这个,我认为它适合你:

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

您可以在https://plus.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3找到此演示, 如果您需要更多信息,可以找到它 here

答案 1 :(得分:28)

出于安全原因,无法在纯HTML / JavaScript中完成。

选择要上传的文件是您可以做的最好的事情,即使这样,您也无法在现代浏览器中获得完整的原始路径。

您可以使用Java或Flash将某些内容组合在一起(例如,使用SWFUpload作为基础),但这需要大量工作并带来额外的兼容性问题。

另一个想法是打开显示用户的iframe驱动器(或其他)的C:,但即使现在可能存在(出于安全原因可能会被阻止,但是很长时间没有尝试过)您的网站无法与iframe通信(出于安全原因)。

你需要什么?

答案 2 :(得分:3)

脚本编写是不可避免的。

由于存在安全风险,因此未提供此功能。 <input type='file' />最接近,但不是您要找的。

结帐this example,它使用Javascript来实现您的目标。

如果操作系统是Windows,您可以使用VB scripts访问核心控制文件以浏览文件夹。

答案 3 :(得分:3)

如果您是服务器和用户(例如,您正在创建一个通过浏览器工作且需要选择文件夹的应用程序),那么在单击某个按钮时尝试从服务器调用JFileChooser浏览器

JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle("select folder");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);

此代码剪辑来自here

答案 4 :(得分:1)

我做了一个工作。我有一个隐藏的文本框来保存值。然后,在form_onsubmit上, 我将路径值,减去文件名复制到隐藏文件夹。然后,将fileInput框设置为&#34;&#34;。这样,就不会上传任何文件。 我不记得fileUpload控件的事件。也许在改变。已经有一段时间了。如果有值,我会解析文件名并将文件夹放回到框中。当然,您要将该文件验证为有效文件。 这将为您提供客户工作站文件夹 但是,如果要反映服务器路径,则需要采用完全不同的编码方法。

答案 5 :(得分:0)

如果您没有太多文件夹,那么我建议您使用if语句根据用户输入的详细信息来选择上载文件夹。 例如

String user= request.getParameter("username");
if (user=="Alfred"){
//Path A;
}
if (user=="other"){
//Path B;
}