支持 20 多种主流格式的文件在线浏览,这个项目值得学习。
编程导航开源仓库:https://github.com/liyupi/code-nav
大家好,我是鱼皮,今天分享一个优秀的、100% 开源、持续更新的项目,拿来学习或者作为项目经历写在简历上都很不错。
项目介绍
kkFileView,是一个基于 Java SpringBoot 框架的文件文档在线预览项目,支持在浏览器中在线浏览各种主流格式的文件或文档。
想要开发一个在线浏览文件的网站,非常不容易,每种格式都要做不同的处理,所以一般的项目能支持几种格式就不错了。但 kkFileView 项目,经支持多达几十种格式!比如:
- word、excel、ppt、pdf 等办公文档
- txt、java、php、py、md、js、css、vue、bat 等所有纯文本或代码文件
- 支持zip、rar、jar、tar、gzip 等压缩包
- 支持 jpg、jpeg、png、gif 等图片预览和操作
- 支持 mp3、mp4、flv 等多媒体文件预览
文件列表页:
文本浏览效果:
项目特性
项目有很多优秀特性,比如一键部署、快速接入,把源码下载到本地,就可以在 Windows、Linux 平台一键部署,两行 JavaScript 代码就可以让文件接入预览。甚至还支持 Docker 容器部署,非常方便。
项目的完成度极高,如上所说,支持几十种常见的文件格式,文本、文档、图片、多媒体都不在话下,还兼容新版 Office 文档、WPS 文档!
项目支持多种预览模式灵活切换,比如查看 word、ppt、pdf 文档时,可以用图片的方式浏览和复制,也可以用 PDF 文档的方式翻页浏览。
让我们打开一份 word 文档,使用图片浏览模式:
一键切换为 PDF 浏览模式:
项目的使用非常灵活,除了完整部署外,还提供了 Restful HTTP 接口,让开发者可以使用各种不同的编程语言、跨平台地接入文件浏览服务,适用于微服务场景。
如果自己能够开发出这样一个完整又实用的系统,技术上一定会有很大的提升,幸运的是,作者给我们提供了学习的机会!
学习使用
作者将该项目完全开源至 GitHub 和 Gitee 上,目前在 GitHub 上已经高达 5000 star!
项目的技术栈完全基于 Java,前端采用 FreeMarker 模板引擎,后端采用主流开发框架 SpringBoot、项目管理工具 Maven,以及主流的 Redis 和 Redisson 缓存技术。而且,由于项目的核心诉求是文件浏览和渲染,所以用到了各种文件格式的处理类库,比如 poi、office-plugin 等。毫不夸张地说,把这个项目学习完,基本任何文件格式的处理,都不在话下!
为了方便大家学习,作者编写了详尽的项目文档,包括部署指南、使用指南等等。
还整理了一些小白经常遇到的问题,非常贴心了。
有兴趣的同学可以直接下载源码学习下,如果本文对您有帮助的话,也请帮忙点个 赞 啦!❤️