electron实现打开文件并将文件内容显示

步骤分析

  • 点击菜单按钮打开文件
  • 读取文件路径
  • 使用fs模块读取文件内容
  • 将文件内容渲染到页面上

点击菜单按钮打开文件

 创建模板菜单,将其添加在主进程中

let template =[
    {
        label:'文件',
        submenu:[
            {
                label:'新建',
                click:function(){

                }
            },
            {
                label:'打开',
                click:function(){
                    //主进程通知渲染进程操作文件
                    BrowserWindow.getFocusedWindow().webContents.send('action')
                }
            },
            {
                label:'保存',
                click:function(){
                	
                }
            },
            {
                type:'separator'
            },
            {
                label:'打印',
                click:function(){
                   
                }
            },
            {
                label:'退出',
                click:function(){
                    
                }
            }
        ]
    }
]

let m = Menu.buildFromTemplate(template)

Menu.setApplicationMenu(m)

读取文件渲染文件内容

 渲染进程接收到主进程发送的信息,并进行读取文件将文件内容渲染到页面上。

//引入ipcRenderer模块,remote模块
var {ipcRenderer,remote} = require('electron')
//引入fs模块
var fs = require('fs')
//获取文本框的dom 
var textAreaDom = document.querySelector('#textArea')

ipcRenderer.on('action',function(event,action){

            // 通过dialog打开文件
            remote.dialog.showOpenDialog({
            
                properties:['openFile']
             
            }).then(dir => {
				//通过fs模块读取文件内容
                var fsData = fs.readFileSync(dir.filePaths[0])
				//将fs模块中读取的内容渲染到文本输入框
                textAreaDom.value= fsData 
            }) 
      
    }
})

HTML文件

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <link rel="stylesheet" href="./static/css/index.css">    
  </head>
  <body>

    <textarea id="textArea"></textarea>

    <script src="./renderer/ipcRenderer.js"></script>
  </body>
</html>

 
 分享完毕。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值