首頁 > Java > java教程 > SpringBoot如何整合minio

SpringBoot如何整合minio

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2023-05-11 08:49:17
轉載
2011 人瀏覽過

首先加入Minio的依賴

1

2

3

4

5

<dependency>

        <groupId>io.minio</groupId>

        <artifactId>minio</artifactId>

        <version>3.0.10</version>

    </dependency>

登入後複製

然後寫一個controller類別

#這只是一個簡單的demo,沒有進行任何的封裝,可以根據實際情況進行封裝。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

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;

@RestController

public 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的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
java - springboot新手學習
來自於 1970-01-01 08:00:00
0
0
0
java - 新人用直接springmvc還是springboot
來自於 1970-01-01 08:00:00
0
0
0
java - springboot部署到tomcat url請求路徑問題
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板