Sur*_*iya 14 javascript node.js angularjs electron
我对电子很新.任何人都可以建议我如何使用电子获得本地文件夹的相对路径?JavaScript没有这种能力.
我有一个选择文件按钮(请参阅快照),所以我的问题是,当我选择一个文件夹并单击打开按钮时,它应该返回一个完整的目录路径.
Tea*_*eak 33
正如@phuongle在你想要使用的评论中指出的那样showOpenDialog()
.像这样的东西:
var remote = require('remote');
var dialog = remote.require('electron').dialog;
var path = dialog.showOpenDialog({
properties: ['openDirectory']
});
Run Code Online (Sandbox Code Playgroud)
更新:以上版本不适用于当前版本,必须使用ES6导入..
const {dialog} = require('electron').remote;
Run Code Online (Sandbox Code Playgroud)
Yai*_*evy 15
遵循官方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]
}
})
}
Run Code Online (Sandbox Code Playgroud)
预加载脚本:
import {contextBridge, ipcRenderer} from 'electron'
contextBridge.exposeInMainWorld('myAPI', {
selectFolder: () => ipcRenderer.invoke('dialog:openDirectory')
})
Run Code Online (Sandbox Code Playgroud)
现在,您可以从应用程序代码中调用 selectFolder 方法并获取用户输入。
window.myAPI.selectFolder().then(result=>{/* Do something with the folder path*/})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17597 次 |
最近记录: |