Springboot整合minio实现上传,下载,批量下载,预览,删除
前言
spirngboot整合minio实现文件上传,下载,批量下载,预览,删除等功能。
提示:以下是本篇文章正文内容,下面案例可供参考
一、导入minio pom文件
我这边用的是8.2.1版本
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.2.1</version>
</dependency>
二、使用步骤
1.yml 文件配置
spring:
# 配置文件上传大小限制
servlet:
multipart:
max-file-size: 200MB
max-request-size: 200MB
minio:
#自己本地服务器 minio地址以及 账号密码,和桶名。
endpoint: http://127.0.0.1:9000
accessKey: test
secretKey: test
bucketName: test
2.service代码(下载,上传,批量下载,删除,预览)
代码如下(示例):
@Component
public class MinioService {
@Autowired
private MinioClient minioClient;
@Value("${minio.bucketName}")
private String bucketName;
/**
* description: 判断bucket是否存在,不存在则创建
* @return: void
*/
public void existBucket(String name) {
try {
boolean exists = minioClient.bucketExists(BucketExistsArgs.builder().bucket(name).build());
if (!exists) {
minioClient.makeBucket(MakeBucketArgs.builder().bucket(name).build());
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 创建存储bucket
* @param bucketName 存储bucket名称
* @return Boolean
*/
public Boolean makeBucket(String bucketName) {
try {
minioClient.makeBucket(MakeBucketArgs.builder()
.bucket(bucketName)
.build());
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 删除存储bucket
* @param bucketName 存储bucket名称
* @return Boolean
*/
public Boolean removeBucket(String bucketName) {
try {
minioClient.removeBucket(RemoveBucketArgs.builder()
.bucket(bucketName)
.build());
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* description: 上传文件
* @param multipartFile
* @return: java.lang.String
*/
public List<TxFileinfo> upload(MultipartFile[] multipartFile) {
List<TxFileinfo> txFileinfos = Lists.newArrayList();
for (MultipartFile file : multi

本文详细指导如何在Spring Boot应用中整合Minio,实现文件的上传、下载、批量下载、删除和预览功能,包括配置YAML、编写Service和Controller代码示例。
最低0.47元/天 解锁文章
345





