使用electron和Javascript在控制台中显示完整文件夹路径
我正在使用带有python后端的electron(用于独立桌面应用程序),我需要为python脚本提供一个目录。使用下面的代码,我可以打开一个对话框,但是它不会将文件夹路径输出到控制台使用electron和Javascript在控制台中显示完整文件夹路径,javascript,electron,Javascript,Electron,我正在使用带有python后端的electron(用于独立桌面应用程序),我需要为python脚本提供一个目录。使用下面的代码,我可以打开一个对话框,但是它不会将文件夹路径输出到控制台 const OpenBtn = document.getElementById('OpenBtn') OpenBtn.addEventListener('click', function(event) { const { dialog } = require('electron').remote; //
const OpenBtn = document.getElementById('OpenBtn')
OpenBtn.addEventListener('click', function(event) {
const { dialog } = require('electron').remote;
//Synchronous
let dir = dialog.showOpenDialog({properties:["openDirectory"]})
console.log(dir)
})
我不熟悉创建应用程序的前端方面,我正试图了解dir
中包含的内容。我看到它产生了一个“承诺”(我尝试了各种方式访问文件路径
字符串,但没有成功
有一个HTML按钮,id=OpenBtn,我有
webPreferences: {
nodeIntegration: true,
enableRemoteModule: true
}
在我的main.js文件中。使用同步: 或异步:
snwflk非常感谢您提供了这两种方式。我从异步方式开始,当我将其与代码合并时,它对于一个独立的按钮非常有效。因此,当我将对话框与包含后续功能的按钮组合时,同步代码非常完美!再次感谢!
let dirs = dialog.showOpenDialogSync({properties:["openDirectory"]})
if (typeof dirs !== "undefined") {
console.log("Selected paths:");
console.log(dirs);
}
dialog.showOpenDialog({properties: ["openDirectory"]}).then(result => {
if (result.canceled === false) {
console.log("Selected paths:");
console.log(result.filePaths);
}
}).catch(err => {
console.log(err);
})