electron中有dialog模块,可以用来打来文件框,选择文件夹或者文件。
两种实现方式
1、可以通过ipc通信,main process,实现打开文件对话框的操作,然后把选择的文件夹或者文件再次通过ipc通信发送的render 进程。
// in render.js
const {ipcRenderer} = require('electron');
function openDialog(){
ipcRenderer.send('openDialog');
}
ipcRenderer.on('selectedItem', (event, files)=>{
console.log(files);//输出选择的文件
})
//in main.js
const {ipcRenderer, dialog} = require('electron');
ipcRenderer.on('openDialog',(event)=>{
dialog.showOpenDialog({
}).then(result=>{
console.log(result); //输出结果
result.filePaths.length>0 && ipcRenderer.send(result.filePaths);
})
})
2、直接在render进程中,使用remote模块中的dialog模块,打开。
const { remote } = require('electron');
async function openDialog(){
const result = await remote.dialog.showOpenDialog({
properties: ['openFile'],
});
}
showOpenDialog的使用方式参考electron 文档https://electronjs.org/docs/api/dialog#dialogshowopendialogbrowserwindow-options
来源:CSDN
作者:jiaojinlin
链接:https://blog.csdn.net/jiaojinlin/article/details/104061679