1.渲染进程直接调用remote中的dialog方法


// 渲染进程const { dialog } = window.require('electron').remote;dialog.showOpenDialog({title: '请选择你的离线包',// 过滤选择文件类型filters: [{name: 'file',extensions: ['epis'],},],buttonLabel: '打开',}).then((res: any) => {// 文件路径console.log(res?.filePaths?.[0])
})

注:

  • windows的internet快捷方式无法过滤,可在返回的文件名中过滤
  • 当前窗口不关闭可以一直点击打开新窗口,可以在打开窗口后记录窗口打开状态,在文件类型不对或者未关闭窗口时控制不能打开新的选择窗口

2.渲染进程发消息给主进程,主进程打开dialog,然后将获取到的文本路径传回给渲染进程

// 渲染进程 opendir
ipcRenderer.send('openDialog');//主进程 监听openDialog方法ipcMain.on('openDialog',(event)=> {dialog.showOpenDialog({}).then(result => {result.filePaths.length > 0 && win?.webContents?.send('selectedItem',result.filePaths?.[0]??'');
// 发送electedItem到渲染进程})})// 渲染进程 监听主进程读取文件ipcRenderer.on('selectedItem',(event: any, file: string) => {if (file) {// 文件路径console.log(file)}},[],);

【electron】打开离线包-读本地文件相关推荐

  1. electron打开文件的几种实现方式

    1. 程序已经启动,通过点击打开文件,进行打开 this.$dialog.showOpenDialog({title: "打开文件",defaultPath: "&quo ...

  2. Electron打开文件并获得绝对路径方式

    Electron打开文件并获得绝对路径方式 在桌面应用中,点击一个按钮,选择一个文件,后台再得到绝对路径进行后续处理是常见的实现. 如采用Input标签File导入的方式,如下示例: <!DOC ...

  3. 解决Excel打开UTF-8编码的CSV文件乱码的问题 实测好用

    解决Excel打开UTF-8编码的CSV文件乱码的问题 1 2 3 4 5 6 分步阅读 CSV是一个平面文件,它的编码方式有多种.比如,MongoDB以UTF-8格式存储数据,在使用mongoexp ...

  4. java desktop类 能打开共享文件夹中的文件吗_计算机二级之JAVA篇

    Java Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.深受程序员们的追捧,据TIBOE ...

  5. VI打开和编辑多个文件的命令

    VI打开和编辑多个文件的命令 可分两种情况: 1.在同一窗口中打开多个文件: vi file1 file2 file3 :n  切换到下一个文件 (n=next) :N  切换到上一个文件 2.在不同 ...

  6. python打开一个不存在的文件时-python判断文件是否存在,不存在就创建一个的实例...

    python判断文件是否存在,不存在就创建一个的实例 如下所示: try: f =open("D:/1.txt",'r') f.close() except IOError: f ...

  7. 成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题

    成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题 目录 解决问题 解决思路 解决方法 T1.修改默认配置

  8. 打开服务器数据库文件,如何打开服务器中的数据库文件

    如何打开服务器中的数据库文件 内容精选 换一换 云服务器新增磁盘,开机自动执行磁盘初始化脚本后,Oralce.MySQL和SQL Server等数据库系统日志Msg 823错误 .磁盘初始化脚本Win ...

  9. nagios错误: 无法打开要更新的命令文件

    昨天添加重庆交换机与服务器到nagios里,添加完之后,可以正常报警,由于与分公司之间×××链路有点问题,×××不定时会断,然后就会报警,但web页面的关闭报警按钮不能用,提示错误:" 无法 ...

最新文章

  1. 如何修改linux时间? 校正linux系统的时间
  2. pku1384---Piggy-Bank(动态规划)
  3. Linux的mmap内存映射机制解析
  4. Tensorflow Lite之编译生成tflite文件
  5. 想靠写程序赚更多钱,写到两眼通红,写得比别人都又快又好好几倍,结果又能如何?...
  6. JAVA JDBC连接mysql编程
  7. Leetcode每日一题:1002.find-common-characters(查找常用字符串)
  8. Python爬虫之编辑cookie实例:必胜客餐厅
  9. 你可能不知道的字符比较中的“秘密”
  10. HC蓝牙模块测试AT指令搭建外部电路遇到的问题
  11. [设计素材]你也在找CTBiaoSongSJ吗?我这里有耶!
  12. linux沙箱隔离_linux沙箱技术
  13. 路由器的应用场所及作用
  14. postgresql源码学习(38)—— 备份还原② - do_pg_stop_backup函数
  15. 30 行代码实现蚂蚁森林自动收能量(附源码)
  16. msm8996的gpio和irq
  17. Arduino提高篇02—OLED屏汉字显示
  18. Echart - 双柱状图(bar)
  19. vb读取mysql多表,vb获取数据库中所有表的名称
  20. 求坐标系中三角形的面积

热门文章

  1. stm32cubeide驱动LCD1602显示屏
  2. 2017哈理工 低年级组院赛初赛 G-做游戏 【水题】
  3. 【C语言中清空文件的方法】
  4. 什么是GeoJSON?
  5. mwt是什么意思网络用语_1,2,3,4,5,6,7,8,9,0的网络语言代表什么意思啊?
  6. ​LeetCode刷题实战314:二叉树的竖直遍历
  7. 矩阵中和能被 K 整除的路径 leetcode第314周赛第四题
  8. 单例模式,懒汉饿汉,线程安全,double checked locking的问题
  9. java连连看倒计时_java连连看代码
  10. android studio获取IMEI码