当前位置: 首页 > 后端技术 > Java

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

时间:2023-04-02 00:31:00 Java

在上一篇文章中,我们使用MinIO实现了文件存储,用于存储各种格式的文件。有时我们不仅需要文件存储,还需要在线预览文件。这里推荐一款基于SpringBoot的文件预览神器kkFileView,基本支持主流文件的在线预览,非常好用。希望对大家有所帮助!SpringBoot实战电商项目商城(50k+star)地址:https://github.com/macrozheng/malkkFileView简介kkFileView可以用来搭建文件在线预览服务,在Github上有5.7k+Star。项目使用时下流行的SpringBoot搭建,使用部署简单,基本支持主流办公文档的在线预览,如docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等。项目特点可以参考下图。安装kkFileView支持在Windows和Linux下安装。下面我们介绍一下它的安装,基本开箱即用!Windows先下载最新版的安装包,下载地址:https://gitee.com/kekingcn/fi...下载成功后,解压到指定目录,然后在运行startup.bat命令bin目录;因为是SpringBoot项目,如果要修改配置,只需要修改config目录下的application.properties文件即可。在Linux下使用Docker安装Linux非常简单。它只需要两个命令。首先,下载kkFileView的Docker镜像;dockerpullkeking/kkfileview下载完成后,运行kkfileview的Docker容器,服务会运行在8012端口;dockerrun-p8012:8012--namekkfileview\-dkeking/kkfileview运行成功后,可以访问kkfileview的测试页面,地址地址:http://192.168.7.109:8012在使用之前,我们使用MinIO来搭建一个对象存储服务,然后我们将kkfileview和MinIO一起使用,先把需要在线预览的文件存储在MinIO中,然后再对文件进行预览。我们可以使用S3Browser来管理MinIO中的文件,先创建一个存储桶作为预览,然后上传所有文件;上传成功后,我们需要修改存储桶的访问策略,允许匿名用户访问;修改policy时,直接参考PolicyExamples即可,注意修改版本为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容器中拷贝配置文件目录;dockercpkkfileview:/opt/kkFileView-3.5.1/config/mydata/kkFileView/然后配置目录,文件目录,日志目录挂载到宿主机上运行;dockerrun-p8012:8012--namekkfileview\-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\-dkeking/kkfileview如果我们想给预览文件加水印,我们可以修改应用程序中的如下配置。properties文件,比如我要加macrozheng的水印;#水码内容#如果要取消水印,将内容设置为空即可,例如:watermark.txt=${WATERMARK_TXT:}watermark.txt=${WATERMARK_TXT:macrozheng}修改成功后预览再次打开图片,你会发现水印已经添加了。总结通过kkFileView的一波实践,我们发现kkFileView可以满足Office文档、视频、图片等主流文件的在线预览需求,而且使用和配置也非常简单。由于它是通过将word、ppt文档转成pdf来实现预览的,所以如果你对Office文档预览的要求不是特别高,可以用它来打造全方位的文件在线预览服务!参考官方文档:https://kkfileview.keking.cn/...本文已收录GitHubhttps://github.com/macrozheng/mall-learning,欢迎Star!