electron 打开选择文件框

﹥>﹥吖頭↗ 提交于 2020-01-23 05:47:26

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!