🗒️对象存储Minio

发布于2020-11-14
😀
MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等
 
 
1. 下载
我们可以直接去官网下载: https://docs.min.io/cn (opens new window),这里介绍 Windows 版本
将之前下载的exe程序放到一个地方
 
 
2. 使用
启动一个 CMD 窗口,进入 minio.exe 所在文件夹,输入如下命令

javascript

.\minio.exe server D:\minio-dir
JavaScript
将其保存为bat文件 后续双击即可运行
 
notion image
 
notion image
 
默认用户名密码:minioadmin/minioadmin
 
先创建你的 Bucket,Bucket 创建成功之后就可以上传文件了,Bucket 不能含大写字母,我创建了一个名为 file 的 Bucket,点击上传文件
notion image
 
notion image
 
 
我们可以设置bucket是否为公开:
notion image
 
notion image
 
 

SDK 使用

引入依赖

javascript

<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>7.1.2</version> </dependency>
JavaScript
 
配置类

javascript

@Configuration public class MinioConfig { @Value("${spring.minio.url}") private String minioUrl; @Value("${spring.minio.access-key}") private String accessKey; @Value("${spring.minio.secret-key}") private String secretKey; @Bean public MinioClient minioClient() { return MinioClient.builder() .endpoint(minioUrl) .credentials(accessKey, secretKey) .build(); } }
JavaScript
 

javascript

@Service public class MinioService { private final MinioClient minioClient; @Autowired public MinioService(MinioClient minioClient) { this.minioClient = minioClient; } public String uploadFile(MultipartFile file) { try { String bucketName = "xiaohui"; String objectName = file.getOriginalFilename(); PutObjectArgs args = PutObjectArgs.builder() .bucket(bucketName) .object(objectName) .stream(file.getInputStream(), file.getSize(), -1) .build(); minioClient.putObject(args); return "File uploaded successfully: " + objectName; } catch (Exception e) { e.printStackTrace(); return "Error uploading file: " + e.getMessage(); } } }
JavaScript
 
ES6 新特性Kafka 使用
Loading...
©2021-2025 Arterning.
All rights reserved.