依赖
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.3.7</version>
</dependency>
Minio具体使用
minio:
endpoint: 127.0.0.1
port: 9000
accessKey: minioadmin
secretKey: minioadmin
secure: false
bucketName: "huike-crm"
configDir: "/data/excel"
@Autowired
private MinioConfig minioConfig;
@PostMapping("/common/upload")
public AjaxResult uploadFile(MultipartFile file){
try{
String bucketName = minioConfig.getBucketName();
String accessKey = minioConfig.getAccessKey();
String secretKey = minioConfig.getSecretKey();
String endpoint = minioConfig.getEndpoint();
int port = minioConfig.getPort();
String http = MinioConfig.HTTP;
MinioClient minioClient = new MinioClient.Builder()
.endpoint(http+endpoint+":"+port)
.credentials(accessKey, secretKey)
.build();
String fileName = file.getOriginalFilename();
String suffixName = fileName.substring(fileName.lastIndexOf("."));
BucketExistsArgs bucketExistsArgs = BucketExistsArgs.builder()
.bucket(bucketName)
.build();
boolean isExist = minioClient.bucketExists(bucketExistsArgs);
if(!isExist){
MakeBucketArgs makeBucketArgs = MakeBucketArgs.builder().bucket(bucketName).build();
minioClient.makeBucket(makeBucketArgs);
}
String destFileName = UUIDUtils.getUUID().concat(suffixName);
String datePath = DateUtils.datePath();
PutObjectArgs putObjectArgs = PutObjectArgs.builder()
.bucket(bucketName)
.stream(file.getInputStream(), file.getSize(), -1)
.contentType(file.getContentType())
.object(datePath+"/" + destFileName)
.build();
minioClient.putObject(putObjectArgs);
AjaxResult ajaxResult = AjaxResult.success();
ajaxResult.put("fileName:", "/"+datePath+"/" + destFileName);
ajaxResult.put("url:",http+ "/"+datePath+"/" + fileName);
return ajaxResult;*/
}catch (Exception e){
return AjaxResult.error(e.getMessage());
}
}