El ejemplo más simple de la integración de SpringBoot minio (con swagger integrado)

Buenos blogs que vi durante mi estudio :

https://blog.csdn.net/weixin_45415885/article/details/102870687

https://www.cnblogs.com/q149072205/p/12851667.html

1. Descarga

Dirección de descarga de Windows: https://min.io/download#/windows Para
otras descargas del sistema, también puede hacer clic en este enlace para descargar después de seleccionar el sistema.

Dos, instalación

1. Cree un nuevo directorio para almacenar los archivos minio. El nombre del archivo que creé es C: \ minioData. CMD ingresa la ubicación donde se encuentra el minio.exe que acaba de descargar y ejecuta el servidor minio.exe C: \ minioData (porque estoy ejecutando en una máquina virtual) , Solo hay una partición, así que la puse en la unidad C, no la recomiendo en la unidad C para el almacenamiento de datos) La
Inserte la descripción de la imagen aquí
fuente roja es la cuenta y contraseña de inicio de sesión inicial, Acceso al navegador: para la dirección de acceso
2. Cree un nuevo depósito para almacenar recursos
Inserte la descripción de la imagen aquí

Tres, carga de archivos

Clave:

@RestController
public class MinioController {
    
    
    private static String url = "http://10.0.19.27:9000"; 
    private static String accessKey = "minioadmin";
    private static String secretKey = "minioadmin";

    //上传文件到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("test",fileName,is,contentType); 
            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("test", "9990.jpg");
            response.setHeader("Content-Disposition", "attachment;filename=" + "9990.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("test", "9990.jpg");
            return url;
        }catch (Exception e){
    
    
            return "失败";
        }
    }
}

Todos los códigos se han cargado en Code Cloud , y todas las críticas y correcciones son bienvenidas.

(Suplemento: la dirección para acceder a Swagger es http://127.0.0.1:8080/swagger-ui.html )

Supongo que te gusta

Origin blog.csdn.net/weixin_42656358/article/details/107529555
Recomendado
Clasificación