目录
一、minio启动
1、创建文件夹
2、cmd启动
3、查看端口地址以及密码
二、minio使用步骤
1、创建bucket,并且把Access Policy设置成public
2、代码
三、注解事务管理
一、minio启动
1、创建文件夹

2、cmd启动

3、查看端口地址以及密码

二、minio使用步骤
1、创建bucket,并且把Access Policy设置成public


2、代码
public class CommonServiceImpl implements CommonService {
@Autowired
private MinioProperties properties;
@Override
public String upload(MultipartFile file) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
// 创建一个Minio的客户端对象
MinioClient minioClient = MinioClient.builder()
.endpoint(properties.getEndpointUrl())
.credentials(properties.getAccessKey(), properties.getSecreKey())
.build();
boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(properties.getBucketName()).build());
// 如果不存在,那么此时就创建一个新的桶
if (!found) {
minioClient.makeBucket(MakeBucketArgs.builder().bucket(properties.getBucketName()).build());
} else { // 如果存在打印信息
System.out.println("Bucket 'spzx-bucket' already exists.");
}
//获取文件名称
//String filename = file.getOriginalFilename();
//1、需要让每个上传文件名字唯一
//2、根据当前日期,对当前文件进行分组 20240823
//20240823/1.jpg,20240823自动会创建成文件夹
String dateDir = DateUtil.format(new Date(), "yyyyMMdd");
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
String filename = dateDir + "/" + uuid + file.getOriginalFilename();
//文件上传
minioClient.putObject(PutObjectArgs.builder().bucket(properties.getBucketName())
.object(filename)
.contentType("image/jpeg")
.stream(file.getInputStream(),file.getSize(),-1)
.build());
//获取上传文件在minio路径
// 构建fileUrl
String url = properties.getEndpointUrl()+"/"+properties.getBucketName()+"/"+filename ;
return url;
}
}
三、注解事务管理
启动类增加注解@EnableTransactionManagement //开启注解方式的事务管理
业务实现方法增加注解@Transactional



















