Frank笔记

  • 首页
  • 服务器
  • Wordpress
  • 电脑软件
    • Macos
    • Windows
  • 软路由
  • 硬件
  • 手机应用
  • AI
FRANK
专注于学习、工作、生活的记录
  1. 首页
  2. 服务器
  3. 软路由
  4. 正文

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

2025年3月24日 124点热度 0人点赞 0条评论

一、MinIO

1、简介

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

支持 doc, docx, xls, xlsx, xlsm, ppt, pptx, csv, tsv, dotm, xlt, xltm, dot, dotx,xlam, xla ,pages 等 Office 办公文档
支持 wps, dps, et, ett, wpt 等国产 WPS Office 办公文档
支持 odt, ods, ots, odp, otp, six, ott, fodt, fods 等OpenOffice、LibreOffice 办公文档
支持 vsd, vsdx 等 Visio 流程图文件
支持 wmf, emf 等 Windows 系统图像文件
支持 psd ,eps 等 Photoshop 软件模型文件
支持 pdf ,ofd, rtf 等文档
支持 xmind 软件模型文件
支持 bpmn 工作流文件
支持 eml 邮件文件
支持 epub 图书文档
支持 obj, 3ds, stl, ply, gltf, glb, off, 3dm, fbx, dae, wrl, 3mf, ifc, brep, step, iges, fcstd, bim 等 3D 模型文件
支持 dwg, dxf, dwf, iges , igs, dwt, dng, ifc, dwfx, stl, cf2, plt 等 CAD 模型文件
支持 txt, xml(渲染), xbrl(渲染), md(渲染), java, php, py, js, css 等所有纯文本
支持 zip, rar, jar, tar, gzip, 7z 等压缩包
支持 jpg, jpeg, png, gif, bmp, ico, jfif, webp 等图片预览(翻转,缩放,镜像)
支持 tif, tiff 图信息模型文件
支持 tga 图像格式文件
支持 svg 矢量图像格式文件
支持 mp3,wav,mp4,flv 等音视频格式文件
支持 avi,mov,rm,webm,ts,rm,mkv,mpeg,ogg,mpg,rmvb,wmv,3gp,ts,swf 等视频格式转码预览
支持 dcm 等医疗数位影像预览
支持 drawio 绘图预览

2、项目地址

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

 

3、安装

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

MinIO

  • 首先使用如下命令下载MinIO的Docker镜像;
docker pull minio/minio
  • 然后通过如下命令运行MinIO的容器,此时MinIO的可视化控制台运行在9001端口上,MinIO服务将运行在9090端口上;
  • 环境变量增两个,MINIO_ACCESS_KEY 和 MINIO_SECRET_KEY,分别对应用户名和密码。
  • 映射两个文件夹,data 和 config。/docker/minio/data 配置装载路径 /data

    /docker/minio/config 配置装载路径 /root/.minio (其中 . 千万不能漏)

docker run -p 9090:9000 -p 9001:9001 --name minio 
-v /mydata/minio/data:/data 
-e MINIO_ACCESS_KEY=minioadmin 
-e MINIO_SECRET_KEY=minioadmin 
-d minio/minio server /data --console-address ":9001"
  • 然后我们输入默认账号密码minioadmin:minioadmin就可以访问MinIO的控制台了,控制台访问地址:http://192.168.3.101:9001
【转载】不写一行代码!SpringBoot + MinIO实现万能文件在线预览,太酷了!

二、kkFileView

1、安装

  • 使用如下命令下载kkFileView的Docker镜像;
docker pull keking/kkfileview
  • 然后通过如下命令运行MinIO的容器,此时容器运行在8012端口上;docker run -p 8012:8012 --name kkfileview 
-d keking/kkfileview
  • 接下来我们就可以访问kkFileView的测试页,访问地址:http://192.168.3.101:8012
【转载】不写一行代码!SpringBoot + MinIO实现万能文件在线预览,太酷了!

2、使用

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

准备

  • 首先我们需要在MinIO中创建一个存储桶preview;
【转载】不写一行代码!SpringBoot + MinIO实现万能文件在线预览,太酷了!
  • 然后修改存储桶的访问策略为Pulbic以便外部访问;
【转载】不写一行代码!SpringBoot + MinIO实现万能文件在线预览,太酷了!
  • 之后我们就可以往存储桶中上传文件了,上传好测试的文件;
【转载】不写一行代码!SpringBoot + MinIO实现万能文件在线预览,太酷了!
  • 至于这些文件如何访问呢,由于我们的MinIO服务运行在9090端口上,可以通过如下格式获取到文件地址;
http://192.168.3.101:9090/{bucketName}/{fileName}
  • 例如我们在存储桶preview中存储了一个叫avatar.png的文件,访问地址就是这样的:http://192.168.3.101:9090/preview/avatar.png

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

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

图片

  • 我们需要先打开kkFileView的预览测试页,输入文件名称后就可以获取到预览链接了:http://192.168.3.101:8012
【转载】不写一行代码!SpringBoot + MinIO实现万能文件在线预览,太酷了!图片文件的预览链接如下:
【转载】不写一行代码!SpringBoot + MinIO实现万能文件在线预览,太酷了!
  • 我们可以发现kkFileView的文件预览格式是这样的,通过base64编码后拼接了一个url参数;
http://192.168.3.101:8012/onlinePreview?url=base64Encode($url)

 

总结

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

 

标签: 暂无
最后更新:2025年3月26日

admin

我专注于服务器管理和优化,擅长使用WordPress进行网站建设和维护,以及关于WordPress和AI技术分享,除了技术方面的工作,我还热衷于分享软硬件评测、技术教程和各种学习心得。通过撰写文章和制作视频,我希望将自己的经验和知识传递给更多的人,帮助他们解决遇到的问题,无论是探讨最新的技术趋势,还是分享实用的工具和技巧,我都乐于与大家交流互动,希望在技术社区和社交媒体平台,我们都能积极参与讨论和交流,不断学习和进步。共同成长。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
搜索
文章目录
  • 一、MinIO
    • 1、简介
    • 2、项目地址
    • 3、安装
    • MinIO
  • 二、kkFileView
    • 1、安装
    • 2、使用
    • 3、文件预览
  • 总结
最新 热点 随机
最新 热点 随机
AI 沟通术——从“听不懂”到“神助攻” Sageattention+Triton 安装教程,便携包难题解决,Sageattention加速 stable diffusion采样器全解析 响应词 AI绘画篇 deepseek提问技巧
ESXI all in one设置要点 「安卓」手机上YouTube字幕翻译成中文 Heygem本地部署 比较受欢迎的主题 test AI生图教程

COPYRIGHT © 2025 我的笔记. ALL RIGHTS RESERVED.