1.配置
spring:
minio:
url: http://10.17.31.178:9000
accessKey: minio
secretKey: minio123
bucketName: rental
2.upload
@Component
public class MinIoUtil {
@Autowired
private MinioClient minioClient;
@Value("${spring.minio.url}")
private String url;
@Value("${spring.minio.bucketName}")
private String bucketName;
public MinioUploadResp upload(ByteBuf byteBuf, String fileName, String filePath) {
String objectName = filePath + "/" + UUID.randomUUID() + "." + fileName;
// auto-release关闭
try (InputStream inputStream = new ByteBufInputStream(byteBuf, false)) {
minioClient.putObject(
PutObjectArgs.builder()
.bucket(bucketName)
.object(objectName)
.stream(inputStream, byteBuf.readableBytes(), -1)
.build()
);
} catch (Exception e) {
log.error("上传文件失败", e);
}
MinioUploadResp minioUploadResp = new MinioUploadResp();
minioUploadResp.setUrl(this.url + "/" + bucketName + "/" + objectName);
return minioUploadResp;
}
}