Electron实现浏览选择文件夹获取文件夹路径
时间: 2024-12-13 12:23:13 浏览: 8
在Electron中,你可以使用Node.js的`fs`模块和`dialog`模块来实现浏览选择文件夹并获取路径。`dialog`模块提供了一个`showOpenDialog`方法,它允许用户选择文件夹。以下是一个基本的示例:
```javascript
const { app, dialog } = require('electron')
const fs = require('fs-plus') // 或者 'fs'
// 当用户点击按钮触发文件夹选择
function selectFolder() {
const options = {
properties: ['openDirectory'] // 只显示文件夹选项
};
dialog.showOpenDialog({ properties: options }, function (result) {
if (result.canceled) {
console.log('User canceled the operation')
return
}
if (Array.isArray(result)) {
// result[0] 是路径数组,通常只有一个元素
const folderPath = result[0];
fs.isDirectory(folderPath).then(isDir => {
if (isDir) {
console.log('Selected folder:', folderPath)
// 进行后续操作,如读取、写入或同步文件夹内容等
} else {
console.error('Not a valid directory!')
}
});
} else {
console.error('Unexpected return value:', result)
}
});
}
app.on('ready', function () {
// 添加监听事件,比如按钮点击
document.getElementById('select-folder-btn').addEventListener('click', selectFolder)
});
```
在这个例子中,当用户点击"选择文件夹"按钮时,会弹出一个对话框让用户选择文件夹。选择后,你会得到一个文件夹路径,然后可以根据需要进一步处理。
阅读全文