我对电子很陌生。有人能建议我如何利用电子获取本地文件夹的相对路径吗?JavaScript没有这种能力。

我有一个选择文件按钮(见快照),所以我的问题是,当我选择一个文件夹并单击打开的按钮时,它应该返回一个完整的目录路径。
发布于 2016-03-23 09:27:05
正如@phuongle在评论中指出的那样,您希望使用showOpenDialog()。就像这样:
var remote = require('remote');
var dialog = remote.require('electron').dialog;
var path = dialog.showOpenDialog({
properties: ['openDirectory']
});更新:如果以上内容不适用于您当前的电子版本,您应该尝试更现代的导入:
const {dialog} = require('electron').remote;此外,为了使用remote,在主进程中创建窗口时需要设置enableRemoteModule:
const myWindow = new BrowserWindow({
webPreferences: {
enableRemoteModule: true
}
});发布于 2022-03-10 12:15:39
跟随官方的IPC教程为我工作
主要进程:
import {dialog, ipcMain} from 'electron'
function createWindow () {
mainWindow = new BrowserWindow({/*Your electron window boilerplate*/})
ipcMain.handle('dialog:openDirectory', async () => {
const { canceled, filePaths } = await dialog.showOpenDialog(mainWindow, {
properties: ['openDirectory']
})
if (canceled) {
return
} else {
return filePaths[0]
}
})
}预加载脚本:
import {contextBridge, ipcRenderer} from 'electron'
contextBridge.exposeInMainWorld('myAPI', {
selectFolder: () => ipcRenderer.invoke('dialog:openDirectory')
})现在您可以从应用程序代码中调用selectFolder方法并获取用户输入.
window.myAPI.selectFolder().then(result=>{/* Do something with the folder path*/})发布于 2017-09-26 13:51:13
在电子系统中,我们可以通过使用type="file“和webkit目录属性指定简单的输入元素来选择目录。<input id="myFile" type="file" webkitdirectory />和我们可以使用File document.getElementById("myFile").files[0].path的path属性获得目录完整路径
https://stackoverflow.com/questions/36152857
复制相似问题