springboot集成minio带源码
一、minio下载并安装(windows版本)
官网地址: https://min.io/
百度网盘下载地址: https://pan.baidu.com/s/14YVMprzeVy-4QhwCBEuOPQ?pwd=c2b9
如有需要可去官网下载最新版本, 本文建议百度网盘下载, 根据此文件讲解~
-
下载完成后解压文件
解压完成如下图所示
-
修改启动脚本文件
用记事本打开bin目录下的minio-start.bat文件, 将如图框选的文件地址修改为你当前的地址, 如下图所示, 修改完成后保存文件
-
启动minio, 双击minio-start.bat
见到如下页面说明minio启动成功
- 访问地址: localhost:9000
- 初始账号: minioadmin
- 初始密码: minioadmin
访问地址并登录, 如下图
登陆成功
-
创建桶
创建一个名为test名的桶, 名字看心情自定义即可
二、springboot整合minio
本文说明两种整合minio的方法并提供源码, 源码下载解压, 下载依赖可直接使用~
1. 使用springboot将minio单独整合成项目
源码下载链接: https://pan.baidu.com/s/1tSmaUc1yvjMqVkNfdODwfg?pwd=tyty
项目目录结构
通过原生的MinioClient实现文件上传下载删除, 可直接加业务逻辑, 如保存文件信息等
2. 将minio作为依赖引入到springboot项目
源码下载链接: https://pan.baidu.com/s/1FkieMr4EUZi4rJXti6-5ew?pwd=8din
项目目录结构
通过亚马逊依赖(AmazonS3), 上传文件到minio
3.两种整合minio方式的区别
首先通过原生的MinioClient上传文件与通过AmazonS3上传后返回的url不同, 且存入minio的文件目录也不同
- 原生MinioClient上传文件
上传文件代码
接口返回数据, url结构: http://ip(服务器地址):port(端口)/filelocation(文件位置)/filename(文件名).suffix(后缀名)
有清晰的目录, 且不改变文件名称及后缀名, 文件原封不动的上传
- 通过AmazonS3上传文件
上传代码
接口返回数据, url结构(见下图的wholeUrl): http://ip(服务器地址):port(端口)/bucketname(桶名)/文件id&验证参数
文件信息会被AmazonS3封装, 不展示真实的文件名以及文件后缀
-
总结
两种方式主要是
- 上传后的文件url不同, 且上传的文件目录及文件名不同
- 引入方式不同
- 一种为spingboot项目, 直接启动可用, 也可以将其单独作为服务注册到nacos中使用
- 一种为依赖打包之后其他项目直接在pom文件中引用依赖即用, 集成到项目中更加方便
此处只以上传文档为例, 其余接口请见源码, 自行测试~
三、问题
使用过程中如出现如下错误
将桶设置为public即可, 具体操作步骤如下:
按照如下步骤设置为public, 保存即可
按照如下步骤设置为public, 保存即可~
只看说明文档可能比较模糊, 大家可以安装minio, 并下载源码运行起来测试一下, 如有问题请留言, 看到会回复的~