千家信息网

SpringBoot如何整合minio

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍"SpringBoot如何整合minio"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"SpringBoot如何整合minio"文章能帮助大家解
千家信息网最后更新 2025年02月04日SpringBoot如何整合minio

这篇文章主要介绍"SpringBoot如何整合minio"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"SpringBoot如何整合minio"文章能帮助大家解决问题。

首先添加Minio的依赖

        io.minio        minio        3.0.10    

然后写一个controller类

这只是一个简单的demo,没有进行任何的封装,可以根据实际情况进行封装。

package com.file.server.controller;import io.minio.MinioClient;import org.apache.tomcat.util.http.fileupload.IOUtils;import org.springframework.web.bind.annotation.*;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletResponse;import java.io.InputStream;@RestControllerpublic class MinioController {   private static String url = "http://127.0.0.1:9000";  //minio服务的IP端口   private static String accessKey = "W2ZWITFFDWFM5TWS3WI9";     private static String secretKey = "dNx++XsRJpjmWVQHWv8djMCFJ0A3YXbEr4qfKHR+";       //上传文件到minio服务 @PostMapping("upload") public String upload(@RequestParam("fileName") MultipartFile file )  {   try {       MinioClient minioClient = new MinioClient(url, accessKey, secretKey);       InputStream is= file.getInputStream(); //得到文件流       String fileName = file.getOriginalFilename(); //文件名       String contentType = file.getContentType();  //类型       minioClient.putObject("file",fileName,is,contentType); //把文件放置Minio桶(文件夹)       return  "上传成功";     }catch (Exception e){         return "上传失败";     }    }    //下载minio服务的文件    @GetMapping("download")    public String download(HttpServletResponse response){        try {          MinioClient minioClient = new MinioClient(url, accessKey, secretKey);          InputStream fileInputStream = minioClient.getObject("file", "test.jpg");          response.setHeader("Content-Disposition", "attachment;filename=" + "test.jpg");          response.setContentType("application/force-download");          response.setCharacterEncoding("UTF-8");          IOUtils.copy(fileInputStream,response.getOutputStream());          return "下载完成";        }catch (Exception e){            return "下载失败";        }    }    //获取minio文件的下载地址    @GetMapping("url")    public  String  getUrl(){        try {            MinioClient minioClient = new MinioClient(url, accessKey, secretKey);            String url = minioClient.presignedGetObject("file", "test.jpg");            return url;        }catch (Exception e){            return "获取失败";        }    }}

关于"SpringBoot如何整合minio"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

0