不写一行代码!SpringBoot + MinIO实现万能文件在线预览,太酷了!

大模型云存储数据库

picture.image

苏三的免费八股文网站: www.susan.net.cn

文件存储是项目中常见的功能,我们可以用MinIO来实现文件存储。但是有时候不仅要实现存储,还要实现文件的在线预览,此时就可以用万能文件预览工具kkFileView来实现。今天给大家分享下SpringBoot + MinIO + kkFileView如何实现任意文件的在线预览功能。

kkFileView简介

kkFileView是一个万能的在线预览开源项目,基于SpringBoot实现,目前在Gitee上已有21k+Star。它易于上手和部署,支持几乎所有常见类型文件的在线预览。

下面是它目前支持的文件类型,文件类型目前还在进一步丰富中:

picture.image

安装

使用Docker来安装MinIO和kkFileView是非常方便的,这里我们将采用此种方式。

MinIO

  • 首先使用如下命令下载MinIO的Docker镜像;

          
docker pull minio/minio  

      
  • 然后通过如下命令运行MinIO的容器,此时MinIO的可视化控制台运行在9001端口上,MinIO服务将运行在9090端口上;

          
docker run -p 9090:9000 -p 9001:9001 --name minio \  
-v /mydata/minio/data:/data \  
-e MINIO_ROOT_USER=minioadmin \  
-e MINIO_ROOT_PASSWORD=minioadmin \  
-d minio/minio server /data --console-address ":9001"  

      
  • 然后我们输入默认账号密码minioadmin:minioadmin就可以访问MinIO的控制台了,控制台访问地址:http://192.168.3.101:9001

picture.image

kkFileView

  • 使用如下命令下载kkFileView的Docker镜像;

          
docker pull keking/kkfileview  

      
  • 然后通过如下命令运行MinIO的容器,此时容器运行在8012端口上;

          
docker run -p 8012:8012 --name kkfileview \  
-d keking/kkfileview  

      

picture.image

使用

接下来我们来讲解下MinIO和kkFileView的使用。

准备

  • 首先我们需要在MinIO中创建一个存储桶preview

picture.image

  • 然后修改存储桶的访问策略为Pulbic以便外部访问;

picture.image

  • 之后我们就可以往存储桶中上传文件了,上传好测试的文件;

picture.image

  • 至于这些文件如何访问呢,由于我们的MinIO服务运行在9090端口上,可以通过如下格式获取到文件地址;

          
http://192.168.3.101:9090/{bucketName}/{fileName}  

      

picture.image

文件预览

接下来我们来讲解下如何通过kkFileView来预览MinIO中的文件。

图片

  • 我们需要先打开kkFileView的预览测试页,输入文件名称后就可以获取到预览链接了:http://192.168.3.101:8012

picture.image

  • 图片文件的预览链接如下:

picture.image

  • 我们可以发现kkFileView的文件预览格式是这样的,通过base64编码后拼接了一个url参数;

          
http://192.168.3.101:8012/onlinePreview?url=base64Encode($url)  

      

word

接下来我们再来看下打开word文档的效果:

picture.image

pdf

再来看下打开pdf文档的效果:

picture.image

ppt

再来看下打开ppt文档的效果:

picture.image

markdown

再来看下打开markdown文档的效果:

picture.image

excel

再来看下打开excel文档的效果:

picture.image

压缩文件

再来看下打开压缩文件的效果,对于压缩文件支持直接打开预览内部文件。

picture.image

总结

今天带大家通过SpringBoot + MinIO + kkFileView实现了任意文件的在线预览功能,不用写一行代码就能实现,大家如果在项目中遇到这类需求的话可以尝试下。

项目地址

https://gitee.com/kekingcn/file-online-preview

最后欢迎 加入苏三的星球 ,你将获得6个优质项目:苏三AI项目、 商城微服务实战、秒杀系统实战 、 商城系统实战、秒杀系统实战、代码生成工具。

还有:系统设计、性能优化、技术选型、底层原理、Spring源码解读、工作经验分享、痛点问题、面试八股文等多个优质专栏。

还有1V1答疑、修改简历、职业规划、送书活动、技术交流。

扫描下方二维码,即可加入星球,跟大家一起学习:

picture.image

目前星球已经更新了5200+篇优质内容,还在持续爆肝中.....

星球已经被官方推荐了3次,收到了小伙伴们的一致好评。戳我加入学习,已有1600+小伙伴加入学习。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生可观测性技术的落地实践
云原生技术和理念在近几年成为了备受关注的话题。应用通过云原生改造,变得更动态、弹性,可以更好地利用云的弹性能力。但是动态、弹性的环境也给应用以及基础设施的观测带来了更大的挑战。本次分享主要介绍了云原生社区中可观测性相关的技术和工具,以及如何使用这些工具来完成对云原生环境的观测。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论