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

Springboot集成Minio實(shí)現(xiàn)文件上傳基本步驟

 更新時間:2025年06月18日 11:02:27   作者:choice of  
這篇文章主要介紹了Springboot集成Minio實(shí)現(xiàn)文件上傳基本步驟,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

一 需要用到的有關(guān)Minio的核心概念

  • 存儲桶(Bucket):類似于文件系統(tǒng)中的頂級目錄,需提前創(chuàng)建。
  • 對象(Object):存儲在 MinIO 中的文件,每個對象有唯一的鍵(Key)。
  • 預(yù)簽名 URL:臨時授權(quán)的 URL,可控制訪問權(quán)限和有效期。

二 Springboot集成Minio基本步驟

1 添加相關(guān)依賴

        <dependency>
            <groupId>io.minio</groupId>
            <artifactId>minio</artifactId>
            <version>8.2.1</version>
            <exclusions>
                <exclusion>
                    <groupId>com.squareup.okhttp3</groupId>
                    <artifactId>okhttp</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <artifactId>kotlin-stdlib</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>4.9.0</version>
        </dependency>

2 配置Minio的連接信息

在application.yml中添加配置:

yaml
minio:
  endpoint: http://localhost:9000  # MinIO服務(wù)地址
  access-key: your-access-key        # 訪問密鑰
  secret-key: your-secret-key        # 秘密密鑰
  bucket-name: your-bucket-name      # 默認(rèn)存儲桶名稱

3 創(chuàng)建Minio的配置類

import io.minio.MinioClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MinIOConfig {
    @Value("${minio.endpoint}")
    private String endpoint;
    @Value("${minio.access-key}")
    private String accessKey;
    @Value("${minio.secret-key}")
    private String secretKey;
    @Bean
    public MinioClient minioClient() {
        return MinioClient.builder()
                .endpoint(endpoint)
                .credentials(accessKey, secretKey)
                .build();
    }
}

4 (服務(wù)層)創(chuàng)建Minio的服務(wù)類

主要實(shí)現(xiàn)文件上傳,下載操作

public String upload(MultipartFile file) throws Exception {
        // 檢查存儲桶是否存在,不存在則創(chuàng)建
        boolean isExist = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());
        if (!isExist) {
            minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
        }
    // 生成唯一文件名,避免中文和空格
        String originalFilename = file.getOriginalFilename();
        String fileName = UUID.randomUUID().toString() + "." +
                originalFilename.substring(originalFilename.lastIndexOf(".") + 1);
        // 1. 上傳文件到MinIO
        minioClient.putObject(
                PutObjectArgs.builder()
                        .bucket(bucketName)
                        .object(fileName)
                        .stream(file.getInputStream(), file.getSize(), -1)
                        .contentType(file.getContentType())
                        .build()
        );
        return  url + "/" + bucketName + "/" + fileName;
    }

5 (表現(xiàn)層)創(chuàng)建控制器

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
@RestController
public class FileUploadController {
    @Autowired
    private MinioServiceImpl minioService;

到此這篇關(guān)于Springboot集成Minio實(shí)現(xiàn)文件上傳的文章就介紹到這了,更多相關(guān)Springboot Minio文件上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 全面了解Java中Native關(guān)鍵字的作用

    全面了解Java中Native關(guān)鍵字的作用

    下面小編就為大家?guī)硪黄媪私釰ava中Native關(guān)鍵字的作用。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 詳解Java去除json數(shù)據(jù)中的null空值問題

    詳解Java去除json數(shù)據(jù)中的null空值問題

    這篇文章主要介紹了詳解Java去除json數(shù)據(jù)中的null空值問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java實(shí)現(xiàn)驗(yàn)證碼驗(yàn)證功能

    Java實(shí)現(xiàn)驗(yàn)證碼驗(yàn)證功能

    Java如何實(shí)現(xiàn)驗(yàn)證碼驗(yàn)證功能呢?日常生活中,驗(yàn)證碼隨處可見,他可以在一定程度上保護(hù)賬號安全,那么他是怎么實(shí)現(xiàn)的呢?今天通過本文給大家實(shí)例詳解,需要的朋友參考下
    2017-02-02
  • java設(shè)計模式之觀察者模式簡單解讀

    java設(shè)計模式之觀察者模式簡單解讀

    這篇文章主要介紹了java設(shè)計模式之觀察者模式簡單解讀,觀察者模式是在對象之間定義了一對多的依賴,這樣一來,當(dāng)一個對象改變狀態(tài),依賴它的對象會收到通知并自動更新,需要的朋友可以參考下
    2023-10-10
  • java進(jìn)行數(shù)據(jù)的比較的實(shí)例方法

    java進(jìn)行數(shù)據(jù)的比較的實(shí)例方法

    在本篇文章里小編給大家整理的是一篇關(guān)于java進(jìn)行數(shù)據(jù)的比較的實(shí)例方法,有需要的朋友們可以學(xué)習(xí)下。
    2021-04-04
  • 在Java中創(chuàng)建對話框的最佳實(shí)戰(zhàn)指南

    在Java中創(chuàng)建對話框的最佳實(shí)戰(zhàn)指南

    對話框是用于向用戶顯示信息(如錯誤提示、輸入請求)的圖形組件,通常作為Java GUI應(yīng)用的頂級容器存在,本文給大家分享了在Java中創(chuàng)建對話框的最佳實(shí)戰(zhàn)指南,需要的朋友可以參考下
    2025-06-06
  • Java中Future接口詳解

    Java中Future接口詳解

    這篇文章主要介紹了Java中Future接口詳解,本文通過案例給大家詳細(xì)講解了Java中Future接口,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • SpringBoot全局配置long轉(zhuǎn)String丟失精度問題解決方案

    SpringBoot全局配置long轉(zhuǎn)String丟失精度問題解決方案

    這篇文章主要介紹了SpringBoot全局配置long轉(zhuǎn)String丟失精度問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • java web實(shí)現(xiàn)簡單聊天室

    java web實(shí)現(xiàn)簡單聊天室

    這篇文章主要為大家詳細(xì)介紹了java-web實(shí)現(xiàn)簡單聊天室,含拍一拍功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • idea開啟熱部署Devtools的步驟詳解

    idea開啟熱部署Devtools的步驟詳解

    當(dāng)我們在 idea 中修改代碼的時候,idea 并不會自動的重啟去響應(yīng)我們修改的內(nèi)容,而是需要我們手動的重新啟動項(xiàng)目才可以生效,這個是非常不方便,但是可以在 idea 中開啟這個自動熱部署的功能,本文給大家介紹了idea開啟熱部署Devtools的步驟,需要的朋友可以參考下
    2024-03-03

最新評論

永兴县| 图木舒克市| 吉安市| 镇康县| 安吉县| 大新县| 永昌县| 富民县| 廉江市| 贵阳市| 丹江口市| 兰考县| 云和县| 商河县| 吉木萨尔县| 什邡市| 钟山县| 庆元县| 天镇县| 景洪市| 舟山市| 建始县| 无为县| 东乌珠穆沁旗| 德安县| 明星| 屯昌县| 仪征市| 墨脱县| 廉江市| 鲁山县| 曲周县| 惠东县| 文水县| 山阳县| 嘉善县| 西林县| 贵德县| 商水县| 丹凤县| 瑞金市|