shi0rik0 的博客shi0rik0 的博客
主页
所有文章
按类别浏览
按标签浏览
Ubuntu 实用脚本
Next.js 配置脚本
主页
所有文章
按类别浏览
按标签浏览
Ubuntu 实用脚本
Next.js 配置脚本
ACGN 1pinia 1electron 2理财 1神经网络 1transformer 1npm 1WSL 1算法八股文 7滑动窗口 1前缀和 1前缀树 1树状数组 1SSE 1Linux 1VS Code 1VuePress 1Spring 2
在Electron中读取并显示本地图片

Date: 2/12/2025Category: Tag: electron

最近需要在Electron应用程序中实现读取并显示本地图片的功能。这个功能看起来简单,但实现起来还是会遇到很多坑。这里就总结一下我遇到的问题,并给出一个完整的解决方案。

两种方案

首先,Electron是不支持在渲染进程中直接读取本地文件的,所以必须要通过主进程来读取文件。这里有两种方案:

  1. 利用Electron的Protocol API,将本地文件映射到一个自定义的协议,然后在渲染进程中通过这个协议来读取文件。
  2. 直接在主进程中提供一个读取文件的接口,然后在渲染进程中调用这个接口来读取文件。
Electron IPC教程

Date: 2/10/2025Category: Tag: electron

Electron的进程模型

在Electron中,有两种进程:主进程和渲染进程。渲染进程本质上就是一个Chromium的进程,它只负责渲染页面,不能访问Node.js提供的操作系统相关的API。主进程是Node.js的进程,可以访问操作系统的API。主进程和渲染进程之间通过IPC(Inter-Process Communication)进行通信。

这种模型的好处就在于:

  1. 不需要大幅修改Chromium的源码。
  2. 保证了浏览器环境的安全性。

如何使用IPC

假设我们希望在渲染进程中读取本地文件。