最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot整合minio快速入門教程(代碼示例)

 更新時(shí)間:2022年04月03日 10:44:55   作者:黃恒愉  
這篇文章主要介紹了SpringBoot整合minio快速入門實(shí)現(xiàn)文件上傳和下載的示例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

分享一個(gè)快速使用springboot整合minio實(shí)現(xiàn)文件上傳和下載的示例。前提是已經(jīng)安裝并運(yùn)行minio服務(wù),參考 minio快速入門文檔

首先添加Minio的依賴

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

然后寫一個(gè)controller類

這只是一個(gè)簡(jiǎn)單的demo,沒有進(jìn)行任何的封裝,可以根據(jù)實(shí)際情況進(jìn)行封裝。

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服務(wù)的IP端口
   private static String accessKey = "W2ZWITFFDWFM5TWS3WI9";  
   private static String secretKey = "dNx++XsRJpjmWVQHWv8djMCFJ0A3YXbEr4qfKHR+";
   
    //上傳文件到minio服務(wù)
 @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服務(wù)的文件
    @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 "獲取失敗";
        }
    }
}

到此這篇關(guān)于SpringBoot整合minio快速入門教程(代碼示例)的文章就介紹到這了,更多相關(guān)SpringBoot整合minio內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis 一對(duì)一、一對(duì)多和多對(duì)多查詢實(shí)例代碼

    mybatis 一對(duì)一、一對(duì)多和多對(duì)多查詢實(shí)例代碼

    這篇文章主要介紹了mybatis 一對(duì)一、一對(duì)多和多對(duì)多查詢的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • Spring Boot中使用JDBC Templet的方法教程

    Spring Boot中使用JDBC Templet的方法教程

    這篇文章主要給大家介紹了關(guān)于在Spring Boot中使用JDBC Templet的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • Java中synchronized的四種用法詳解

    Java中synchronized的四種用法詳解

    這篇文章主要介紹了Java中synchronized的四種用法詳解,當(dāng)我們處理多線程處理同步問題的時(shí)候就會(huì)用到synchronized這個(gè)關(guān)鍵字,下面介紹下synchronized的四種用法,需要的朋友可以參考下
    2024-01-01
  • 深入解析HashMap的put方法

    深入解析HashMap的put方法

    在Java集合中,HashMap的重要性不言而喻,作為一種存儲(chǔ)鍵值對(duì)的數(shù)據(jù)結(jié)構(gòu),它在日常開發(fā)中有著非常多的應(yīng)用場(chǎng)景,也是面試中的高頻考點(diǎn),本篇文章就來分析一下HashMap集合中的put方法
    2022-01-01
  • Java線程間共享與協(xié)作詳細(xì)介紹

    Java線程間共享與協(xié)作詳細(xì)介紹

    這篇文章主要介紹了Java線程間共享與協(xié)作詳細(xì)介紹,Java?支持多個(gè)線程同時(shí)訪問一個(gè)對(duì)象或者對(duì)象的成員變量,更多相關(guān)介紹需要的朋友可以參考一下
    2022-09-09
  • Spring Cloud微服務(wù)架構(gòu)的構(gòu)建:分布式配置中心(加密解密功能)

    Spring Cloud微服務(wù)架構(gòu)的構(gòu)建:分布式配置中心(加密解密功能)

    這篇文章主要給大家介紹了關(guān)于Spring Cloud微服務(wù)架構(gòu)的構(gòu)建:分布式配置中心(加密解密)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2018-05-05
  • 分布式任務(wù)調(diào)度xxl-job問題解決

    分布式任務(wù)調(diào)度xxl-job問題解決

    這篇文章主要為大家介紹了分布式任務(wù)調(diào)度xxl-job的問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多多多進(jìn)步,早日升職加薪
    2022-03-03
  • 詳解MyBatis的SqlSession獲取流程

    詳解MyBatis的SqlSession獲取流程

    SqlSession的獲取是通過SqlSessionFactory的openSession() 方法,那么具體的獲取流程是什么,所以本文就給大家詳細(xì)講解一下MyBatis的SqlSession獲取流程,需要的朋友可以參考下
    2023-07-07
  • 全面了解java byte數(shù)組與文件讀寫

    全面了解java byte數(shù)組與文件讀寫

    下面小編就為大家?guī)硪黄媪私鈐ava byte數(shù)組與文件讀寫。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-08
  • JAVA的Random類的用法詳解

    JAVA的Random類的用法詳解

    Random類主要用來生成隨機(jī)數(shù),本文詳解介紹了Random類的用法,希望能幫到大家。
    2016-04-04

最新評(píng)論

乌鲁木齐县| 仪征市| 沂水县| 玉林市| 孝感市| 炉霍县| 敦煌市| 名山县| 青冈县| 平阳县| 禄丰县| 桐柏县| 遂溪县| 东丰县| 吉隆县| 吉林省| 岑巩县| 肃宁县| 永顺县| 葵青区| 南昌市| 小金县| 迁安市| 抚远县| 新野县| 太康县| 连平县| 浦北县| 越西县| 秦安县| 进贤县| 如皋市| 邳州市| 凤城市| 呼和浩特市| 枣阳市| 江门市| 西峡县| 菏泽市| 仪征市| 柯坪县|