如何使用电子获取文件夹路径

时间:2016-03-22 11:11:47

标签: javascript angularjs node.js electron

我对电子很新。任何人都可以建议我如何使用电子获得本地文件夹的相对路径? JavaScript没有这种能力。

enter image description here

我有一个选择文件按钮(请参阅快照),所以我的问题是,当我选择一个文件夹并单击打开按钮时,它应该返回一个完整的目录路径。

4 个答案:

答案 0 :(得分:30)

正如@phuongle在评论中指出的那样,您要使用showOpenDialog()。像这样:

var remote = require('remote');
var dialog = remote.require('electron').dialog;

var path = dialog.showOpenDialog({
    properties: ['openDirectory']
});

更新:以上版本不适用于当前版本,必须使用ES6导入..

const {dialog} = require('electron').remote;

答案 1 :(得分:3)

在Electron中,我们可以通过指定type =&#34; file&#34;的简单输入元素来选择目录。和webkitdirectory属性&#39;。     <input id="myFile" type="file" webkitdirectory />我们可以使用File对象document.getElementById("myFile").files[0].path

的path属性获取目录的完整路径

答案 2 :(得分:0)

您可以使用Node的path.relative

答案 3 :(得分:0)

对我来说,解决方案是全部使用小写字母,在我的react组件中使用值true作为字符串。不需要额外的配置。

像这样:

<input
    id="path-picker"
    type="file"
    webkitdirectory="true"
/>

修改

事实证明,正如@cbartondock所提到的那样,它将以递归方式在目录中查找文件,这不好!

我最终使用了所需的电子遥控器对话框。