如何使用对象存储服务Minio
发表于:2025-11-20 作者:千家信息网编辑
千家信息网最后更新 2025年11月20日,这篇文章主要介绍"如何使用对象存储服务Minio",在日常操作中,相信很多人在如何使用对象存储服务Minio问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何使用对象存
千家信息网最后更新 2025年11月20日如何使用对象存储服务Minio
这篇文章主要介绍"如何使用对象存储服务Minio",在日常操作中,相信很多人在如何使用对象存储服务Minio问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何使用对象存储服务Minio"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
推荐理由
开源免费(是我们考虑的首要元素),高性能
长的好看:有漂亮的界面。
为云环境而生:与k8s、etcd、docker等深度集成。
文档详细:提供了Java、JavaScript、Python、Golang、.Net等各种语言的sdk,集成变得更加容易
部署简单
docker部署
将MiniIO的数据和配置文件夹挂在到宿主机上
docker run -p 9090:9000 --name minio \ -e MINIO_ACCESS_KEY=admin -e MINIO_SECRET_KEY=123123123 \ -v /mydata/minio/data:/data \ -v /mydata/minio/config:/root/.minio \ -d minio/minio server /data;# 如果不创建用户名密码,默认用户名密码: minioadmin:minioadmin
访问
springboot 使用minio
1 引入maven
io.minio minio 7.0.2
2 配置 application.properties
minio.url= http://192.168.3.189:9090 minio.accessKey= adminminio.secretKey= 123123123 minio.secure=false minio.bucketName=testminio.configDir=/home/data/
3 注入属性
@Component @ConfigurationProperties(prefix = "minio") public class MinioConfig { // "endPoint是一个URL,域名,IPv4或者IPv6地址" private String url; //("accessKey类似于用户ID,用于唯一标识你的账户") private String accessKey; //("secretKey是你账户的密码") private String secretKey; //("如果是true,则用的是https而不是http,默认值是true") private Boolean secure; //("默认存储桶") private String bucketName; //("配置目录") private String configDir; @Bean public MinioClient getMinioClient() throws InvalidEndpointException, InvalidPortException { MinioClient minioClient = new MinioClient(url, accessKey, secretKey,secure); return minioClient; } public String getBucketName() { return bucketName; } public String getConfigDir() { return configDir; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getAccessKey() { return accessKey; } public void setAccessKey(String accessKey) { this.accessKey = accessKey; } public String getSecretKey() { return secretKey; } public void setSecretKey(String secretKey) { this.secretKey = secretKey; } public Boolean getSecure() { return secure; } public void setSecure(Boolean secure) { this.secure = secure; } public void setBucketName(String bucketName) { this.bucketName = bucketName; } public void setConfigDir(String configDir) { this.configDir = configDir; }}4 创建工具类
@Component public class MinioUtil { @Autowired private MinioClient minioClient; /** * 上传文件 */ public void uploadFile(InputStream inputStream, String objectName) { String buckName = "test"; try { if(!minioClient.bucketExists(buckName)) { minioClient.makeBucket(buckName); } minioClient.putObject(buckName, objectName, inputStream, inputStream.available(), "image/jpeg"); } catch (Exception e) { e.printStackTrace(); } } public void downloadFile(String bucketName, String fileName, String originalName, HttpServletResponse response) { try { InputStream file = minioClient.getObject(bucketName, fileName); String filename = new String(fileName.getBytes("ISO8859-1"), StandardCharsets.UTF_8); response.setHeader("Content-Disposition", "attachment;filename=" + filename); ServletOutputStream servletOutputStream = response.getOutputStream(); int len; byte[] buffer = new byte[1024]; while ((len = file.read(buffer)) > 0) { servletOutputStream.write(buffer, 0, len); } servletOutputStream.flush(); file.close(); servletOutputStream.close(); } catch (ErrorResponseException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }}5 测试
@RestController public class GreetingsController { @Autowired MinioUtil minioUtil; @RequestMapping(value = "/{name}", method = RequestMethod.GET) @ResponseStatus(HttpStatus.OK) public String greetingText(@PathVariable String name,HttpServletResponse response) throws FileNotFoundException { minioUtil.uploadFile(new FileInputStream(new File("C:\\Users\\ctyc\\Desktop\\1.jpg")), "test1.jpg"); minioUtil.downloadFile("test", "test1.jpg", "t1.jpg", response); return "Hello " + name + "!"; }}到此,关于"如何使用对象存储服务Minio"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
存储
对象
服务
学习
密码
用户
配置
文件
更多
用户名
账户
帮助
好看
实用
漂亮
接下来
元素
地址
域名
宿主
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
智能对话软件开发
在校大学生网络安全
软件开发人员外包方案
软件开发技术亮点
首都网络安全日 腾讯
主流软件开发
软件开发学什么语言最好
如何表扬网络技术人员
软件开发文件编号
服务器的数据库内存接近饱和
防范网络技术窃密方法
字母网络安全科技馆
为什么筛选最后一行数据库
无法联接服务器
vs连接到数据库代码
代理服务器映射
基站软件开发二部
美女软件开发培训学校
无线网络的服务器地址
中外宝网络技术服务有限公司
常州市弘创网络技术有限公司
英创网络技术
软件开发学什么语言最好
mysql 数据库状态
磁带库连接服务器
安徽本地软件开发预算
连云港有哪些科学期刊数据库
网络安全周 黑龙江
枣庄市市中区网络安全保障中心
json本地数据库中