乐趣区

关于java:基于SpringBoot的在线文件预览神器可支持99常用文件的在线预览

在上一篇 文章中,咱们应用 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 即可,留神批改下 version2012-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!

退出移动版