springboot 使用minio
时间: 2023-10-14 20:04:34 浏览: 156
minio在springboot上的使用。
在Spring Boot中使用MinIO可以通过以下几个步骤:
1. 引入MinIO的依赖:在`pom.xml`文件中添加MinIO的依赖。
```xml
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>RELEASE.2021-03-03T02-57-17Z</version>
</dependency>
```
2. 配置MinIO连接信息:在`application.properties`或`application.yml`文件中添加MinIO的连接信息。
```properties
# MinIO服务器的连接地址
minio.endpoint=http://localhost:9000
# MinIO服务器的访问密钥
minio.accessKey=minio-access-key
# MinIO服务器的访问密钥
minio.secretKey=minio-secret-key
```
```yaml
minio:
endpoint: http://localhost:9000
accessKey: minio-access-key
secretKey: minio-secret-key
```
3. 创建MinIO客户端:在Spring Boot的配置类中创建MinIO客户端的Bean。
```java
import io.minio.MinioClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MinioConfig {
@Value("${minio.endpoint}")
private String endpoint;
@Value("${minio.accessKey}")
private String accessKey;
@Value("${minio.secretKey}")
private String secretKey;
@Bean
public MinioClient minioClient() {
return MinioClient.builder()
.endpoint(endpoint)
.credentials(accessKey, secretKey)
.build();
}
}
```
4. 使用MinIO进行文件上传和下载:在需要使用MinIO的地方注入MinIO客户端,然后使用MinIO客户端的方法进行文件上传和下载操作。
```java
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.GetObjectArgs;
@Service
public class MinioService {
private final MinioClient minioClient;
public MinioService(MinioClient minioClient) {
this.minioClient = minioClient;
}
public void uploadFile(String bucketName, String objectName, InputStream inputStream, long size, String contentType) throws Exception {
minioClient.uploadObject(
UploadObjectArgs.builder()
.bucket(bucketName)
.object(objectName)
.stream(inputStream, size, -1)
.contentType(contentType)
.build());
}
public InputStream downloadFile(String bucketName, String objectName) throws Exception {
return minioClient.getObject(
GetObjectArgs.builder()
.bucket(bucketName)
.object(objectName)
.build());
}
// 其他操作...
}
```
这样就可以在Spring Boot中使用MinIO进行文件的上传和下载了。你可以根据具体的需求,进一步扩展MinIO的功能,例如创建、删除、列举存储桶等操作。
阅读全文