springboot整合minio

jacobyang-tools

jacobyang-tool-minio

使用步骤

  1. 在resources下创建lib文件夹
  2. 把jacobyang-tool-minio.jar放入 jar地址
    也可以用githup的jar
    https://github.com/Jacob-yang/jacobyang-tools/packages/979768
  3. 在pom.xml中配置
        <dependency>
            <groupId>com.jacobyang</groupId>
            <artifactId>jacobyang-tool-minio</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/jacobyang-tool-minio.jar</systemPath>
        </dependency>
    

在这里插入图片描述

  1. application.yml
       minio:
         url: http://127.0.0.1:9000
         accessKey: minioadmin
         secretKey: minioadmin
         openUrl: http://127.0.0.1:9000
         bucket: pic
    
  2. controller使用
       @RestController
       @RequestMapping("/api/upload")
       public class MinioApi {
       
           @Autowired
           private MinioUtils minioUtils;
       
           @PostMapping(value = "/img")
           public Object upload(MultipartHttpServletRequest req) {
               Map<String, MultipartFile> fileMap = req.getFileMap();
               // 循环遍历,取出单个文件
               List<String> list = new ArrayList<>();
               for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
                   // 获取单个文件
                   MultipartFile file = entity.getValue();
                   try {
                        //文件流,桶(已经在yml中配置),文件名,false不生成缩略图/true生成缩略图
                       String s = minioUtils.uploadFile(file.getInputStream(), null, file.getOriginalFilename(), false);
                       list.add(s);
                   } catch (IOException e) {
                       e.printStackTrace();
                   }
               }
               return list;
           }     
       
           @PostMapping(value = "/del")
           public Object delFile(String url) {
               return minioUtils.removeFile(url);
           }
       
           @GetMapping(value = "/download")
           public void download(HttpServletResponse response, String url) {
               minioUtils.downloadFile(response,url);
           }
      }
    
    在这里插入图片描述

jacobyang-tool-minio.jar 源码地址:
https://github.com/Jacob-yang/jacobyang-tools

win使用minio

  1. 下载
    minio.exe
  2. 创建xx.bat文件
		minio.exe server D:\upload

xx.bat 和minio.exe放到同目录下
D:\upload 是你要放文件的地址

当出现打包错误时

<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.properties</include>
            <include>**/*.yml</include>
        </includes>
        <filtering>false</filtering>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
    </resource>
</resources>
整合Minio到Spring Boot可以通过以下几个步骤完成: 1. 首先,需要在pom.xml文件中添加Minio的依赖项。你可以使用以下代码片段添加依赖项: ```xml <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.4.3</version> </dependency> ``` 2. 接下来,在application.yml(或application.properties)文件中配置Minio的连接信息。你需要提供Minio服务端的地址、访问密钥和存储桶名称。以下是一个示例: ```yaml minio: url: 129.0.0.1:9000 access-key: minioadmin secret-key: minioadmin bucket-name: ding_server ``` 3. 最后,在你的代码中使用Minio客户端库进行操作。你可以根据需要使用Minio的API来上传、下载和管理对象。以下是一个使用Minio客户端库的示例: ```java import io.minio.MinioClient; import io.minio.errors.MinioException; // 创建Minio客户端 MinioClient minioClient = new MinioClient("http://localhost:9000", "minioadmin", "minioadmin"); // 上传对象到Minio存储桶 minioClient.putObject("your-bucket-name", "your-object-name", "/path/to/your-file"); // 下载对象从Minio存储桶 minioClient.getObject("your-bucket-name", "your-object-name", "/path/to/save/downloaded-file"); // 列出Minio存储桶中的所有对象 Iterable<Result<Item>> results = minioClient.listObjects("your-bucket-name"); for (Result<Item> result : results) { Item item = result.get(); System.out.println(item.objectName()); } // 删除Minio存储桶中的对象 minioClient.removeObject("your-bucket-name", "your-object-name"); ``` 以上就是在Spring Boot中整合Minio的基本步骤。你可以根据具体需求进行进一步的操作和配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [springboot整合minio](https://blog.csdn.net/qq_36090537/article/details/128100423)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [SpringBoot整合Minio](https://blog.csdn.net/weixin_46573014/article/details/128476327)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值