欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

分享一個快速使用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>

然后寫一個controller類

這只是一個簡單的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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Apache組件分析對象池原理的實(shí)現(xiàn)案例分析

    基于Apache組件分析對象池原理的實(shí)現(xiàn)案例分析

    本文從對象池的一個簡單案例切入,主要分析common-pool2組件關(guān)于:池、工廠、配置、對象管理幾個角色的源碼邏輯,并且參考其在Redis中的實(shí)踐,對Apache組件分析對象池原理相關(guān)知識感興趣的朋友一起看看吧
    2022-04-04
  • Spring Boot @Conditional注解用法示例介紹

    Spring Boot @Conditional注解用法示例介紹

    這篇文章主要給大家介紹了關(guān)于Spring Boot @Conditional注解用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • SpringBoot使用WebJars統(tǒng)一管理靜態(tài)資源的方法

    SpringBoot使用WebJars統(tǒng)一管理靜態(tài)資源的方法

    這篇文章主要介紹了SpringBoot使用WebJars統(tǒng)一管理靜態(tài)資源的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • @Accessors(chain = true)注解報錯的解決方案

    @Accessors(chain = true)注解報錯的解決方案

    這篇文章主要介紹了@Accessors(chain = true)注解報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 詳解Intellij IDEA的Facets和Artifacts

    詳解Intellij IDEA的Facets和Artifacts

    這篇文章主要介紹了Intellij IDEA的Facets和Artifacts的相關(guān)知識,本文通過實(shí)例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-09-09
  • Java中間消息件ActiveMQ使用實(shí)例

    Java中間消息件ActiveMQ使用實(shí)例

    這篇文章主要介紹了Java中間消息件ActiveMQ使用實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • 說說字符串轉(zhuǎn) OffSetDateTime 你真的會用嗎

    說說字符串轉(zhuǎn) OffSetDateTime 你真的會用嗎

    這篇文章主要介紹了字符串轉(zhuǎn) OffSetDateTime 你真的會用嗎?具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java中List分片的5種方法小結(jié)

    Java中List分片的5種方法小結(jié)

    本文主要介紹了Java中List分片的5種方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java算法實(shí)現(xiàn)調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)之前的講解

    Java算法實(shí)現(xiàn)調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)之前的講解

    今天小編就為大家分享一篇關(guān)于Java算法實(shí)現(xiàn)調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)之前的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Java編寫迷宮小游戲

    Java編寫迷宮小游戲

    最近經(jīng)常在機(jī)房看同學(xué)在玩一個走迷宮的游戲,比較有趣,自己也用java寫一個實(shí)現(xiàn)隨機(jī)生成迷宮的算法,其實(shí)就是一個圖的深度優(yōu)先遍歷算法.
    2016-05-05

最新評論