【发布时间】:2017-11-25 19:58:26
【问题描述】:
有没有办法通过 JavaScript 选择目录?
不是为了上传文件,只是为了选择目录路径。 (目录对话框什么的)
【问题讨论】:
-
在网页浏览器的客户端?
-
是的。在客户端。
标签: javascript html
有没有办法通过 JavaScript 选择目录?
不是为了上传文件,只是为了选择目录路径。 (目录对话框什么的)
【问题讨论】:
标签: javascript html
出于安全原因,您不能(您不希望网站能够了解您的文件系统)。
见下文,当你得到一个文件输入的值时,它会被破坏(在我的电脑上,它总是c:/fakepath/something)。文件输入对您的用例也有问题:选择一个文件夹将为您提供其内容列表,因此一个空文件夹将不会在我的 sn-p 中记录任何内容。
function browseResult(e){
var fileselector = document.getElementById('fileselector');
console.log(fileselector.value);
}
<input id="fileselector" type="file" onchange="browseResult(event)" webkitdirectory directory multiple="false" style="display:none" />
<button onclick="getElementById('fileselector').click()">browse</button>
您可以通过插件来实现,例如 Flash、Java 或 Air,但用户必须已经安装或安装它。插件生态系统似乎已经死了。
【讨论】:
你不能直接获取路径,最好在网上找到路径:
$('#fileUploadControl').on('change',function ()
{
var filePath = $(this).val();
console.log(filePath);
});
它会在 Firefox 中为您提供 blank,在 chrome 中为您提供 'Fakepath/..'。 (没有在 IE 中测试过,但当然不会帮助你。)
【讨论】: