在之前的文章中,我们使用MinIO实现了文件存储,用于存储各种格式的文件。有时候我们不仅需要文件存储,还需要文件的在线预览。这里给大家推荐一个基于SpringBoot的文件预览神器kkFileView,基本支持主流文件的在线预览,使用也很简单,希望对大家有所帮助!
kkFileView可以用来搭建文件在线预览服务,在Github上已有5.7k+Star。该项目使用流行的SpringBoot搭建,易上手和部署,基本支持主流办公文档的在线预览,如docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等等。项目特性可以参考下图。
kkFileView支持在Windows和Linux下安装,下面我们介绍下它的安装,基本就是开箱即用!
bin
目录下的startup.bat
命令即可;’ fill=‘%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
config
目录下的application.properties
文件即可。docker pull keking/kkfileview
8012
端口上;docker run -p 8012:8012 --name kkfileview \
-d keking/kkfileview
之前我们使用MinIO搭建了对象存储服务,接下来我们就把kkfileview和MinIO结合起来使用,首先将需要在线预览的文件存储到MinIO中去,然后预览文件。
S3 Browser
来管理MinIO中的文件,首先创建一个存储桶为preview
,然后将文件都上传上去;Policy Examples
即可,注意修改下version
为2012-10-17
;base64
编码才可以;http://192.168.7.109:8012/onlinePreview?url=base64Encode($url)
base64
编码,我使用的是这个:https://tool.oschina.net/encrypt?type=3JPG
的按钮,可以切换到JPG试图,其实kkfileview是通过把word文档转换为pdf或者JPG来实现文档预览的;’ fill=‘%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
kkfileview的配置众多,具体直接参考
config
目录下的application.properties
文件即可,这里介绍下如何自定义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文档预览没有特别高的要求,完全可以使用它搭建一个全能的文件在线预览服务!
官方文档:https://kkfileview.keking.cn/zh-cn/index.html