当前位置: 首页 > article >正文

electron客户端预览doc、docx、excel、pdf、ppt、csv、txt等文件类型

需求:已知文件路径,通过点击列表页的操作按钮可查看文件内容。

提供思路:实现方式有两种:

(1)打开弹窗或客户端新开窗口。不同类型应用不同插件进行直接预览查看。

(2)通过electron的shell.openPath指定系统默认程序直接打开页面。(这种方式实现简单,样式规范,具有统一性)

这里介绍第二种实现方式:

主进程监听:main.js

const { shell } = require('electron')
// 通过系统打开窗口预览文件 
ipcMain.on('open-file', (event, filePath) => {
  // 打开文件
  shell
    .openPath(filePath)
    .then(() => {
      console.log('文件已使用系统默认程序打开')
    })
    .catch(err => {
      console.error('打开文件失败:', err)
    })
})

渲染进程preload.js

  // 打开窗口预览文件
  openFileSend: (...args) => ipcRenderer.send("open-file", ...args),

vue组件使用:

function previewFile (row) {
  // const filePath = 'D:\\work\\test.csv' 调试用
  window.electronAPI?.openFileSend(row.cached_file_path)
}

http://www.kler.cn/a/400028.html

相关文章:

  • 《Django 5 By Example》阅读笔记:p645-p650
  • 机器学习(基础2)
  • 后仿真中的GLS测试用例的选取规则
  • python核心语法
  • MSTP知识点
  • IDEA leetcode插件代码模板配置,登录闪退解决
  • ASUS/华硕灵耀X双屏Pro UX8402Z 原厂Win11-22H2系统 工厂文件 带ASUS Recovery恢复
  • 【大语言模型】ACL2024论文-16 基于地图制图的罗马尼亚自然语言推理语料库的新型课程学习方法
  • CSS复合选择器详解与应用指南
  • ArcMap 操作矢量要素的旋转、复制等功能
  • 网关在能源物联网中扮演了什么角色?
  • django从入门到实战(四)——模型与数据库
  • 基于微信小程序的河池旅游设计与实现
  • 微服务day11-微服务面试
  • 6.k8s:devops
  • 【Linux】Linux入门实操——定时任务调度
  • 坚果云·无法连接服务器(无法同步)
  • 16.100ASK_T113-PRO 配置QT运行环境(二)
  • 【GeekBand】C++设计模式笔记12_Singleton_单件模式
  • ESP-IDF VScode 项目构建/增加组件 新手友好!!!
  • css uniapp背景图宽度固定高度自适应可以重复
  • Python 人脸检测:使用 Dlib 和 OpenCV
  • OSRM docker环境启动
  • blockchain实现遇到的问题
  • 【前端知识】前端打包工具webpack深度解读
  • 跨平台WPF框架Avalonia教程 十六