本文主要分享了如何搭建一个类似阿里云OSS的对象存储服务器。
以windows环境下MinIO的搭建举例说明,linux环境下的搭建网上也有很多教程,请自行搜索相关资料。
一、下载
地址:https://min.io/download#/windows
下载minio.exe即可(注意不要直接双击打开,会运行失败)
二、部署
在minio.exe同级目录创建目录/data用于存储数据文件
cmd命令:minio.exe server data
1.验证是否启动成功,访问: http://localhost:9000(用户名/密码:minioadmin/minioadmin)
2.登录成功后看到以下界面
三、使用
1.创建bucket,名称建议有区分度(程序中可以根据不同应用、不同环境建立不同的bucket)
MinIO的数据会存储在刚才启动命令中指定的/data目录
2.应用程序账号,使用Identity->Service Accounts功能(当然应用程序也可以使用Users来认证)
请记录好Access Key和Secret Key,用于应用程序的认证
3.如果需要使用子账号,使用Identity->Users功能
4.如果需要实现图片的访问是开放的,但是上传图片必须要有访问控制,可以利用bucket的Access Policy来实现
选择Custom选项,json内容填写如下
四、springboot整合MinIO
1.pom依赖
io.minio
minio
7.1.4
2.初始化MinIO客户端核心代码
3.文件上传核心代码
如果需要按照目录来存储文件,objectName可以使用folder1/folde2/../333.jpg这样的格式
4.文件上传后获取访问链接核心代码
5.执行完上传代码,就可以获取到以下格式的图片地址
http://127.0.0.1:9000/buket-template/333.jpg
http://127.0.0.1:9000/buket-template/folder1/folde2/../333.jpg
怎么样?如果你觉得有用的话,还不快快收藏起来!!!
附:涉及的代码目录
gitee:https://gitee.com/jq_di/springcloud-template
springcloud-template
└── template-web
└── file
└── alIOSs -- 阿里云实现的OSS存储
└── minio -- MinIO实现的OSS存储