基于SpringBoot的文件在线预览神器,支持99%的文件在线预览

简介: kkFileView可以用来搭建文件在线预览服务,在Github上已有5.7k+Star。该项目使用流行的SpringBoot搭建,易上手和部署,基本支持主流办公文档的在线预览,如docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等等。项目特性可以参考下图。

kkFileView简介

kkFileView可以用来搭建文件在线预览服务,在Github上已有5.7k+Star。该项目使用流行的SpringBoot搭建,易上手和部署,基本支持主流办公文档的在线预览,如docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等等。项目特性可以参考下图。

安装

kkFileView支持在Windows和Linux下安装,下面我们介绍下它的安装,基本就是开箱即用!

Windows

  • 下载成功后,解压到指定目录,然后运行bin目录下的startup.bat命令即可;

  • 由于是SpringBoot项目,想要修改配置的话,只需修改config目录下的application.properties文件即可。

Linux

  • 在Linux下使用Docker安装非常简单,只需两个命令即可,首先下载kkFileView的Docker镜像;
docker pull keking/kkfileview
  • 下载完成后运行kkfileview的Docker容器,服务将运行在8012端口上;
docker run -p 8012:8012 --name kkfileview \
-d keking/kkfileview

使用

之前我们使用MinIO搭建了对象存储服务 ,接下来我们就把kkfileview和MinIO结合起来使用,首先将需要在线预览的文件存储到MinIO中去,然后预览文件。

  • 我们可以使用S3 Browser来管理MinIO中的文件,首先创建一个存储桶为preview,然后将文件都上传上去;

  • 上传成功后需要修改存储桶的访问策略,让匿名用户可以访问;

  • 修改策略时直接参考Policy Examples即可,注意修改下version2012-10-17

  • 修改成功后就可以在线预览文件了,我们来看下在线预览文件的URL格式,只需传入url(需要预览的文件地址)即可,这里要注意的是这个url需要进行base64编码才可以;
http://192.168.7.109:8012/onlinePreview?url=base64Encode($url)
  • 接下来我们来预览个图片试试,首先获取图片的访问地址;

  • 接下来把url参数放入访问路径中即可预览图片了,是不是很简单!

  • 再来预览下word文档,我们可以发现右侧有个JPG的按钮,可以切换到JPG视图,其实kkfileview是通过把word文档转换为pdf或者JPG来实现文档预览的;

  • 再来预览下ppt文档,发现ppt文档也是通过转化为pdf和JPG来实现预览的;

  • 再来预览下pdf文档,和上面两个并没有啥区别;

  • 再来预览下excel文档,这预览效果有待提高;

  • 再来预览下纯文本的Markdown文档;

  • 最后再来预览下压缩文件,支持查看压缩文件中的内容,点击文件可直接预览。

配置

kkfileview的配置众多,具体直接参考config目录下的application.properties文件即可,这里介绍下如何自定义Docker容器中的配置。

  • 如果你想修改kkfileview的配置文件的话,可以先从Docker容器中拷贝出配置文件目录;
docker cp kkfileview:/opt/kkFileView-3.5.1/config /mydata/kkFileView/
  • 然后将配置目录、文件目录、日志目录挂载到宿主机并运行;
docker run -p 8012:8012 --name kkfileview \
-v /mydata/kkFileView/config:/opt/kkFileView-3.5.1/config \
-v /mydata/kkFileView/file:/opt/kkFileView-3.5.1/file \
-v /mydata/kkFileView/log:/opt/kkFileView-3.5.1/log \
-d keking/kkfileview
  • 如果我们想要给预览文件添加水印的话,可以修改application.properties文件中的如下配置,比如我想添加macrozheng这个水印;
#水印内容
#如需取消水印,内容设置为空即可,例:watermark.txt = ${WATERMARK_TXT:}
watermark.txt = ${WATERMARK_TXT:macrozheng}
  • 修改成功后,再次预览图片就会发现水印已经添加了。

总结

通过对kkFileView的一波实践,我们发现kkFileView可以满足Office文档、视频、图片等主流文件的在线预览需求,使用和配置也非常简单。由于它是通过将word、ppt文档转化为pdf来实现预览的,如果你对Office文档预览没有特别高的要求,完全可以使用它搭建一个全能的文件在线预览服务!

本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。


相关文章
|
7月前
|
XML Java Maven
springboot-多环境配置文件
本文介绍了如何创建开发和生产环境的配置文件,并在IDEA和Maven中进行配置。开发环境中,通过设置profile为`dev`来指定配置文件;生产环境中,使用Maven命令参数`-Pprod`打包并指定配置文件。公共配置可放在`application.yml`中统一管理。日志配置需确保`logback-spring.xml`中的profile正确,以保证日志正常输出。
386 4
springboot-多环境配置文件
|
8月前
|
存储 前端开发 Java
Springboot静态资源映射及文件映射
在Spring Boot项目中,为了解决前端访问后端存储的图片问题,起初尝试通过静态资源映射实现,但发现这种方式仅能访问打包时已存在的文件。对于动态上传的图片(如头像),需采用资源映射配置,将特定路径映射到服务器上的文件夹,确保新上传的图片能即时访问。例如,通过`addResourceHandler("/img/**").addResourceLocations("file:E:\\myProject\\forum_server\\")`配置,使前端可通过URL直接访问图片。
452 0
Springboot静态资源映射及文件映射
|
7月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
11月前
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
596 1
SpringBoot获取项目文件的绝对路径和相对路径
|
12月前
|
XML Java Kotlin
springboot + minio + kkfile实现文件预览
本文介绍了如何在容器中安装和启动kkfileviewer,并通过Spring Boot集成MinIO实现文件上传与预览功能。首先,通过下载kkfileviewer源码并构建Docker镜像来部署文件预览服务。接着,在Spring Boot项目中添加MinIO依赖,配置MinIO客户端,并实现文件上传与获取预览链接的接口。最后,通过测试验证文件上传和预览功能的正确性。
1053 4
springboot + minio + kkfile实现文件预览
|
11月前
|
网络协议 Java
springboot配置hosts文件
springboot配置hosts文件
169 11
|
11月前
|
存储 前端开发 JavaScript
|
11月前
|
存储 Java API
|
11月前
|
Java
SpringBoot获取文件将要上传的IP地址
SpringBoot获取文件将要上传的IP地址
120 0
|
12月前
|
缓存 Java 程序员
Java|SpringBoot 项目开发时,让 FreeMarker 文件编辑后自动更新
在开发过程中,FreeMarker 文件编辑后,每次都需要重启应用才能看到效果,效率非常低下。通过一些配置后,可以让它们免重启自动更新。
224 0