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

SpringBoot集成minio,并实现文件上传

SpringBoot集成minio

    • 什么是minio
    • SpringBoot集成minio
      • 1、引入minio依赖
      • 2、配置Minio相关参数
      • 3、在代码里读取自定义的minio配置
      • 4、在minio配置类里,注册ConfigurationProperties
    • 实现文件上传到minio
      • 1、利用SpringMVC实现接口的异常全局处理
      • 2、返回文件路径给前端
      • 3、返回文件流给前端

什么是minio

MinIO 是一个高性能的对象存储系统

SpringBoot集成minio

1、引入minio依赖

<dependency>
	<groupId>io.minio</groupId>
	<artifactId>minio</artifactId>
	<version>8.2.0</version>
</dependency>

2、配置Minio相关参数

自定义minio键

在这里插入图片描述

设置文件上传的大小

在这里插入图片描述

3、在代码里读取自定义的minio配置

// Not registered via @EnableConfigurationProperties,
// marked as Spring component, or scanned via @ConfigurationPropertiesScan
// 需要把使用@ConfigurationProperties注解的类,
// 通过@EnableConfigurationProperties注册到使用MinioProperties的MinioConfiguration配置类中
@ConfigurationProperties(prefix = "minio")
@Data
public class MinioProperties {
   

    private String endpoint;

    private String accessKey;

    private String secretKey;
    
    private String bucketName;
}

4、在minio配置类里,注册ConfigurationProperties

@Configuration
@EnableConfigurationProperties(MinioProperties.class)
// 表示com.zhw.lease.common.minio包下的所有ConfigurationProperties都会被注册
// @ConfigurationPropertiesScan("com.zhw.lease.common.minio")
public class MinioConfiguration {
   

    @Autowired
    private MinioProperties properties;

    @Bean
    public MinioClient minioClient() {
   
        return MinioClient.builder().endpoint(properties.getEndpoint()).credentials(properties.getAccessKey(), properties.getSecretKey

http://www.kler.cn/a/412603.html

相关文章:

  • qt 读写文本、xml文件
  • PyTorch基础05_模型的保存和加载
  • 【山大909算法题】2014-T1
  • Jmeter测试工具的安装和使用,mac版本,jmeter版本5.2.1
  • 【VUE3】VUE组合式(响应式)API常见语法
  • webrtc支持h265
  • Flutter:封装发送验证码组件,注册页使用获取验证码并传递控制器和验证码类型
  • java内存管理介绍
  • 选择正确的网络代理模式:全面指南与实际应用示例
  • SpringBoot框架助力欢迪迈手机商城快速开发
  • C++11 http服务端和客户端库cpp-httplib
  • react 前端最后阶段静态服务器启动命令
  • win、linux等环境下python输出cpu、gpu、avx等硬件信息
  • WindTerm 开源工具基础使用
  • 【大数据学习 | Spark-SQL】关于RDD、DataFrame、Dataset对象
  • Django在fitler过滤不等于的条件
  • 移门缓冲支架:保护您的家
  • 欢迪迈手机商城:SpringBoot框架的缓存机制
  • 基于SSM的学科竞赛管理系统
  • 前端编程训练 异步编程篇 请求接口 vue与react中的异步
  • 决策树分类算法【sklearn/决策树分裂指标/鸢尾花分类实战】
  • git 远端删除分支本地同步删除
  • UE4 iOS Package的过程与XCode工程中没有游戏Content的原因
  • C++学习日记---第12天(函数重载+蓝桥杯基础题)
  • 【C语言篇】从字符海洋到整数大陆——atoi 的探险之旅
  • 服务器记录所有用户docker操作,监控删除容器/镜像的人