SpringBoot整合Minio的详细步骤
import io.minio.MinioClient;
import io.minio.errors.MinioException;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
// 配置MinIO客户端
@Configuration
public class MinioConfig {
@Value("${minio.url}")
private String minioUrl;
@Value("${minio.accessKey}")
private String minioAccessKey;
@Value("${minio.secretKey}")
private String minioSecretKey;
@Bean
public MinioClient minioClient() throws IOException, InvalidKeyException, NoSuchAlgorithmException, MinioException {
boolean secure = true; // 使用HTTPS
MinioClient minioClient = new MinioClient(minioUrl, minioAccessKey, minioSecretKey, secure);
// 检查服务是否运行
minioClient.ping();
return minioClient;
}
}
// 使用MinIO客户端上传文件
@Service
public class MinioService {
@Autowired
private MinioClient minioClient;
public boolean uploadFile(String bucketName, String fileName, InputStream data) throws IOException, NoSuchAlgorithmException, InvalidKeyException, XmlPullParserException {
// 检查存储桶是否存在
boolean isExist = minioClient.bucketExists(bucketName);
if (!isExist) {
minioClient.makeBucket(bucketName);
}
// 使用putObject上传文件
minioClient.putObject(bucketName, fileName, data, data.available(), "application/octet-stream");
return true;
}
}
这个代码示例展示了如何在Spring Boot应用程序中配置和使用MinIO客户端来上传文件。首先,通过MinioConfig
配置类定义了MinIO客户端的Bean,并且在其中进行了服务验证。然后,在MinioService
服务类中定义了上传文件的方法,该方法会检查存储桶是否存在,不存在则创建,最后使用MinIO客户端的putObject
方法上传文件。
评论已关闭