我对电子很新。任何人都可以建议我如何使用电子获得本地文件夹的相对路径? JavaScript没有这种能力。
我有一个选择文件按钮(请参阅快照),所以我的问题是,当我选择一个文件夹并单击打开按钮时,它应该返回一个完整的目录路径。
答案 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 =" file"的简单输入元素来选择目录。和webkitdirectory属性'。
<input id="myFile" type="file" webkitdirectory />
我们可以使用File对象document.getElementById("myFile").files[0].path
答案 2 :(得分:0)
您可以使用Node的path.relative
。
答案 3 :(得分:0)
对我来说,解决方案是全部使用小写字母,在我的react组件中使用值true
作为字符串。不需要额外的配置。
像这样:
<input
id="path-picker"
type="file"
webkitdirectory="true"
/>
修改
事实证明,正如@cbartondock所提到的那样,它将以递归方式在目录中查找文件,这不好!
我最终使用了所需的电子遥控器对话框。