当前位置: 首页 > news >正文

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 {@Autowiredprivate MinioProperties properties;@Overridepublic 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路径// 构建fileUrlString url = properties.getEndpointUrl()+"/"+properties.getBucketName()+"/"+filename ;return url;}
}

三、注解事务管理 

启动类增加注解@EnableTransactionManagement //开启注解方式的事务管理

业务实现方法增加注解@Transactional

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 分享一个基于python的抖音短视频流量数据分析与可视化系统Hive大数据源码(源码、调试、LW、开题、PPT)
  • 并查集详解
  • 内网横向移动常用方法
  • 【Docker】Docker学习01 | 什么是docker?
  • sqlserver索引碎片过大如何处理 sqlserver索引碎片查询
  • 淘宝直播弹幕采集
  • Laravel实现图片上传接口以及图片压缩优化测试
  • 亿发详解:ERP系统选择的艺术——中小企业如何避免实施陷阱?
  • Ingress Nginx Controller
  • 哪种电容笔更好用一点?2024开学季实测五款高性价比电容笔!
  • Linux磁盘分区,增加磁盘应用实例,磁盘情况查询
  • 驱动开发系列11 - Linux Graphics 图形栈概述(二)
  • 适合开发人员的网页爬虫工具DrissionPage
  • “精准学”官宣将公布中国首个语音端到端大模型
  • 深圳表哥告诉你“上位机和SCADA的区别”
  • 【Linux系统编程】快速查找errno错误码信息
  • Codepen 每日精选(2018-3-25)
  • If…else
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • mac修复ab及siege安装
  • Median of Two Sorted Arrays
  • Nodejs和JavaWeb协助开发
  • Python3爬取英雄联盟英雄皮肤大图
  • uni-app项目数字滚动
  • windows下mongoDB的环境配置
  • XML已死 ?
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 将 Measurements 和 Units 应用到物理学
  • 今年的LC3大会没了?
  • 面试遇到的一些题
  • 如何编写一个可升级的智能合约
  • 如何使用 JavaScript 解析 URL
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 详解NodeJs流之一
  • - 转 Ext2.0 form使用实例
  • AI算硅基生命吗,为什么?
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #{} 和 ${}区别
  • (1)(1.11) SiK Radio v2(一)
  • (10)ATF MMU转换表
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (bean配置类的注解开发)学习Spring的第十三天
  • (floyd+补集) poj 3275
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (Qt) 默认QtWidget应用包含什么?
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (分布式缓存)Redis持久化
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (论文阅读30/100)Convolutional Pose Machines