MinIO version - 3.0.10
pom.xml
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>3.0.10</version>
</dependency>
application.yml
minio:
bucket: kae1.0-user-file
url: http://192.168.1.148:9000
userName: minioadmin
passWord: minioadmin
MinIOUtils
package cn.bvst.kap.server.util.minio;
import io.minio.MinioClient;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Repository;
import java.io.InputStream;
@Repository
@Data
public class MinIOUtils {
@Value("${minio.url}")
private String url;
@Value("${minio.bucket}")
private String bucket;
@Value("${minio.userName}")
private String userName;
@Value("${minio.passWord}")
private String passWord;
public void uploadFile(String minioFilePath, String filePath) {
try{
MinioClient minioClient = new MinioClient(url,userName,passWord);
boolean isExist = minioClient.bucketExists(bucket);
if(!isExist){
minioClient.makeBucket(bucket);
}
minioClient.putObject(bucket,minioFilePath, filePath);
}catch(Exception e) {
System.out.println("错误: " + e);
}
}
public boolean doesObjectExist(String filePath) throws Exception{
MinioClient minioClient = new MinioClient(url,userName,passWord);
boolean exist = true;
try {
minioClient.statObject(bucket, filePath);
} catch (Exception e) {
exist = false;
}
return exist;
}
public InputStream downloadFile(String filePath) throws Exception{
MinioClient minioClient = new MinioClient(url,userName,passWord);
return minioClient.getObject(bucket,filePath);
}
}
MinIO version - 8.0.3
pom.xml
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.0.3</version>
</dependency>
application.yml
minio:
bucket: kae1.0-user-file
url: http://192.168.1.148:9000
userName: minioadmin
passWord: minioadmin
MinIOUtils
package cn.bvst.kap.server.util.minio;
import io.minio.*;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Repository;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Objects;
@Repository
@Data
public class MinIOUtils {
@Value("${minio.url}")
private String url;
@Value("${minio.bucket}")
private String bucket;
@Value("${minio.userName}")
private String userName;
@Value("${minio.passWord}")
private String passWord;
public void uploadFile(String minioFilePath, String filePath) {
try{
MinioClient minioClient = MinioClient.builder().credentials(userName, passWord).endpoint(url).build();
boolean isExist = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucket).build());
if(!isExist){
minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucket).build());
}
InputStream inputStream = new FileInputStream(filePath);
minioClient.putObject(PutObjectArgs.builder().object(minioFilePath).bucket(bucket).
stream(inputStream, inputStream.available(), -1).build());
}catch(Exception e) {
System.out.println("错误: " + e);
}
}
public void deleteFile(String minioFilePath) {
try {
MinioClient minioClient = MinioClient.builder().credentials(userName, passWord).endpoint(url).build();
minioClient.removeObject(RemoveObjectArgs.builder().bucket(bucket).object(minioFilePath).build());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public boolean doesObjectExist(String filePath) {
MinioClient minioClient = MinioClient.builder().credentials(userName, passWord).endpoint(url).build();
Boolean existsFlag = true;
GetObjectResponse getObjectResponse = null;
try {
GetObjectArgs getObjectArgs = GetObjectArgs.builder().object(filePath).bucket(bucket).build();
getObjectResponse = minioClient.getObject(getObjectArgs);
if (Objects.isNull(getObjectResponse)) {
existsFlag = false;
}
} catch (Exception ex) {
existsFlag = false;
} finally {
try {
if (!Objects.isNull(getObjectResponse)) {
getObjectResponse.close();
}
} catch (IOException e) {
e.printStackTrace();
existsFlag = false;
}
}
return existsFlag;
}
public InputStream downloadFile(String filePath) throws Exception{
MinioClient minioClient = MinioClient.builder().credentials(userName, passWord).endpoint(url).build();
return minioClient.getObject(GetObjectArgs.builder().bucket(bucket).object(filePath).build());
}
}