在上一篇 文章中,咱们应用 MinIO 实现了文件存储,用于存储各种格局的文件。有时候咱们不仅须要文件存储,还须要文件的在线预览。这里给大家举荐一个基于 SpringBoot 的文件预览神器 kkFileView,根本反对支流文件的在线预览,应用也很简略,心愿对大家有所帮忙!
SpringBoot 实战电商我的项目 mall(50k+star)地址:https://github.com/macrozheng/mall
kkFileView 简介
kkFileView 能够用来搭建文件在线预览服务,在 Github 上已有 5.7k+Star。该我的项目应用风行的 SpringBoot 搭建,易上手和部署,根本反对支流办公文档的在线预览,如 docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等等。我的项目个性能够参考下图。
装置
kkFileView 反对在 Windows 和 Linux 下装置,上面咱们介绍下它的装置,根本就是开箱即用!
Windows
- 首先下载最新版的安装包,下载地址:https://gitee.com/kekingcn/fi…
- 下载胜利后,解压到指定目录,而后运行
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
- 运行胜利后,能够拜访 kkfileview 的测试页,地址地址:http://192.168.7.109:8012
应用
之前咱们应用 MinIO 搭建了对象存储服务,接下来咱们就把 kkfileview 和 MinIO 联合起来应用,首先将须要在线预览的文件存储到 MinIO 中去,而后预览文件。
- 咱们能够应用
S3 Browser
来治理 MinIO 中的文件,首先创立一个存储桶为preview
,而后将文件都上传上去;
- 上传胜利后须要批改存储桶的拜访策略,让匿名用户能够拜访;
- 批改策略时间接参考
Policy Examples
即可,留神批改下version
为2012-10-17
;
- 批改胜利后就能够在线预览文件了,咱们来看下在线预览文件的 URL 格局,只需传入 url(须要预览的文件地址)即可,这里要留神的是这个 url 须要进行
base64
编码才能够;
http://192.168.7.109:8012/onlinePreview?url=base64Encode($url)
- 接下来咱们来预览个图片试试,首先获取图片的拜访地址;
- 而后找个网站把 url 进行
base64
编码,我应用的是这个:https://tool.oschina.net/encr…
- 接下来把 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 文档预览没有特地高的要求,齐全能够应用它搭建一个全能的文件在线预览服务!
参考资料
官网文档:https://kkfileview.keking.cn/…
本文 GitHub https://github.com/macrozheng/mall-learning 曾经收录,欢送大家 Star!