minio使用与注解事务管理

目录

一、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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值