10+年产品经理专注分享AI 工具、AI 资讯、AI Coding、Vibe Coding与下一代产品创新,按 Ctrl+D 收藏我们
关于我 留言板 小程序 标签云

苏米客

  • 首页
  • AIGC
    • AI最新动态
    • AI学习教程
    • AI工具集合
    • AI产品百科
    • AI编程开发
    • AI提示词
    • AI开源项目
    • AI智能体
  • Axure
    • Axure动态
    • Axure教程
  • 产品
    • 用户体验
    • 产品设计
    • 苏米杂谈
  • 资源
    • 产品UI组件库
    • 开源图标库
    • 中后台框架
  • 书单
    • AI书籍
    • 用户体验
    • UI视觉
    • 产品研究
    • 其他类型
  • 下载
    • Axure组件
    • Axure原型
    • 文档报告
    • 素材资源
  • 登录
  • 首页
  • AIGC
    • AI最新动态
    • AI学习教程
    • AI工具集合
    • AI产品百科
    • AI编程开发
    • AI提示词
    • AI开源项目
    • AI智能体
  • Axure
    • Axure动态
    • Axure教程
  • 产品
    • 用户体验
    • 产品设计
    • 苏米杂谈
  • 资源
    • 产品UI组件库
    • 开源图标库
    • 中后台框架
  • 书单
    • AI书籍
    • 用户体验
    • UI视觉
    • 产品研究
    • 其他类型
  • 下载
    • Axure组件
    • Axure原型
    • 文档报告
    • 素材资源
当前位置: 首页 » AI开源项目

Open File Viewer:统一文件在线预览的开源SDK,支持JS/Vue/React/Svelte

6小时前 AI开源项目 32 0

开发后台管理系统的人,迟早都会碰到一个需求:附件在线预览。一开始看似简单——图片直接展示,PDF 接个 pdf.js,文本塞进代码编辑器,视频交给浏览器。

真正复杂的是后续:用户开始上传 doc、xls、pptx、wps、et,再混进压缩包、邮件、图纸、代码文件,原本一个小功能,很快就膨胀成一套独立系统。

Open File Viewer

目前已经支持原生 JavaScript、Vue、React、Svelte 四种技术栈,Office 方向也覆盖了 doc、docx、xls、xlsx、pptx 等常见格式。

图片 1

文件预览最难的地方:失控

很多项目最早的预览代码大概是这样:

if (isPdf(file)) {
  openPdf(file);
} else if (isImage(file)) {
  openImage(file);
} else if (isOffice(file)) {
  openOffice(file);
} else {
  download(file);
}

刚开始没问题,等格式一多,业务就会慢慢失控:PDF 有一套工具栏,图片有一套缩放逻辑,Office 有一套加载状态,视频有自己的控制器,压缩包只能下载。各写各的,同一个预览功能在弹窗、详情页、审批流和附件中心不断复制。

最后项目里没有"文件预览能力",只有一堆散落的格式判断。

Open File Viewer 最先解决的就是这个问题:把所有文件预览统一收口到一个入口。业务层只负责传文件,格式识别、插件匹配、渲染、错误处理、下载兜底,全部交给 SDK。

图片 2

一套 Core,支持四种技术栈

Open File Viewer 没有把能力绑死在某个框架里。它的核心结构分成几层:

JavaScript / Vue / React / Svelte
    ↓ Framework Adapter
    ↓ Open File Viewer Core
    ↓ Plugin System
    ↓ Renderer

底层 Core 负责:文件识别、插件调度、状态管理、容器生命周期、工具栏、主题、错误处理、Fallback。上层的 Vue、React、Svelte 只负责框架适配。不管项目用什么技术栈,底层走的都是同一套预览能力。

一个团队里可能同时存在老后台(原生 JS)、管理端(Vue)、新产品(React)、轻量页面(Svelte)。以前需要分别维护四套方案,现在共用一套插件和渲染逻辑。这也是我一开始就把它做成 SDK,而不是只做一个 Vue 组件的原因。

插件系统才是核心

文件格式太多,靠一个超级组件硬扛,后面一定会越来越重。所以 Open File Viewer 把不同格式拆成独立插件:

const plugins = [
  officePlugin(),
  pdfPlugin(),
  imagePlugin(),
  textPlugin()
];

文件传入后,内部流程大致是:读取文件信息 → 识别扩展名和 MIME → 匹配对应插件 → 创建 Renderer → 渲染到统一容器。

每个插件只处理自己负责的内容。officePlugin() 关注 Office,pdfPlugin() 处理 PDF,imagePlugin() 负责图片,后续还可扩展音视频、压缩包、CAD、GIS、3D 等能力。

这种结构有两个关键优势:

  • 格式之间互不干扰:Office 插件出问题,不会影响图片和 PDF 的正常预览。
  • 业务可以按需加载:项目只需要引入自己用到的插件,不需要的格式不会增加打包体积。

统一的状态管理

预览能力统一后,上层业务拿到的就是一套标准化的事件和状态。比如 loading、error、download 这些状态,业务层只需要监听一次,不用再为每种格式单独处理。

图片 3

总结

Open File Viewer 的核心理念是:格式再多,入口只有一个。

通过插件化的架构,把文件预览从"散落的格式判断"变成"统一的能力模块"。不管你的技术栈是 Vue、React 还是原生 JS,都可以用同一套 SDK 解决文件预览问题。

  • 官网地址:https://open-file-viewer-workspace.void.app/

  • GitHub 地址:https://github.com/xushanpei/open-file-viewer

  • npm 地址:https://www.npmjs.com/package/@open-file-viewer/core

声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
未经允许不得转载:Open File Viewer:统一文件在线预览的开源SDK,支持JS/Vue/React/Svelte
#OpenFileViewer #开源SDK #文件预览 #前端开发 #Vue #React 
收藏 1
NeverClick:用键盘操控Windows桌面的开源工具,计算机视觉识别UI元素
PP-OCRv6发布:34.5M参数击败235B大模型,50种语言OCR可运行在手机端
推荐阅读
  • OpenFang:OpenClaw升级版,如何重新定义 Agent 框架的生产级标准
  • Perry 开源编译器:把 TypeScript 直接编译为原生二进制,告别 Node.js 运行时依赖
  • WailBrew:为 macOS Homebrew 补齐的图形化管理工具
  • OmniVoice Studio:本地运行的开源 AI 声音克隆和视频配音工具
  • DeepSeek TUI 实测:终端里的 AI 编码智能体,2 天 3.5K Star 的开源项目
评论 (0)
请登录后发表评论
分类精选
WeKnora:终于等到了腾讯ima的开源知识库框架,用 API 轻松打造本地智能文档检索
10750 10月前
OpenSpec:比 Cursor Plan 更聪明?试试这款让 AI 编码更靠谱的规范驱动工具
10069 9月前
Antigravity-Manager:这个开源神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
8122 6月前
CapCut API:一个剪映API开源项目,让AI自动剪辑视频
7955 6月前
awesome-openclaw-skills:700+ Skills 一条命令装配完成,如何让本地 AI Agent 真正落地可用
7177 5月前
AIRI:你的开源AI女友,让你随时拥有属于自己的 AI VTuber
7089 10月前
就要创作:从提示词到创作团队,开源 AI 网文写作平台
7032 9月前
CompressO:开源免费的视频压缩神器,让你的硬盘瞬间轻松 10 倍
6979 9月前
iFlow CLI:让命令行终端不止于编程的AI效率开源神器
6130 10月前
Composio:让AI Agent自动完成工作任务,能让AI一键操控你的所有软件
6120 9月前

文章目录

关注「苏米客」公众号

订阅推送更及时,手机查看更方便
分类排行
1 科大讯飞开源Astron Agent:企业级智能体平台,8.6k Star支持RPA闭环
2 16万Star的AI Coding Skills:把开发失控环节变成可组合的工作流
3 Open File Viewer:统一文件在线预览的开源SDK,支持JS/Vue/React/Svelte
4 NeverClick:用键盘操控Windows桌面的开源工具,计算机视觉识别UI元素
5 PhotoGIMP:15K 星开源项目,让免费 GIMP 一键变身 Photoshop 界面,全平台可用
6 Orca 开源并行 Agent 编程 IDE:支持 30+ AI 编程工具,多 Agent 并行开发不冲突
7 wenyi:开源 AI 小说翻译工具,EPUB/FB2/TXT 整本翻成中文,术语一致+断点续传
8 两个开源 Codex 插图 Skill:火柴人讲清楚逻辑,卡皮巴拉传递情绪
9 CreatorHub 开源项目:一个 Web 面板统一管理抖音、小红书、快手,支持监控采集跨平台转发
10 CogVideoX 开源视频模型:4G 显存本地跑 AI 视频生成,文生视频/图生视频/视频续写三模式详解
©2015-2024 苏米客XMSUMI 版权所有 · WWW.XMSUMI.COM 闽ICP备14005900号-6
微信文章助手 程序库 免费影视APP 免费字体下载 产品经理导航 爱克硕儿 产品经理AI资讯 Axure元件库下载 申请友联