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

SpringBoot中整合Minio文件存儲的安裝部署過程

 更新時間:2022年04月03日 10:35:35   作者:code2roc  
這篇文章主要介紹了SpringBoot整合Minio文件存儲的相關(guān)知識,詳細介紹了Minio安裝部署過程,需要的朋友可以參考下

背景

公司的開發(fā)框架集成了附件本地存儲,阿里云,華為云等,現(xiàn)項目有要求附件存儲與應用部署環(huán)境不能是同一臺服務器,也不能使用云存儲,經(jīng)過技術(shù)選型后決定框架整合minio,將minio部署在另一臺服務器開通外網(wǎng)端口即可解決問題

Minio安裝部署

下載minio安裝部署包,創(chuàng)建對應配置文件,這里提供一個整合后的壓縮包

下載地址:http://xiazai.jb51.net/202204/yuanma/minio_jb51.rar

創(chuàng)建minioData文件夾作為文件存儲路徑,解壓安裝包根據(jù)放置路徑修改對應配置文件文件

minio-service.xml和run.bat

<service>
  <id>minio</id>
  <name>MinIO Service</name>
  <description>MinIO is a High Performance Object Storage</description>
  <logpath>D:\minio\logs</logpath>
  <log mode="roll-by-size">
    <sizeThreshold>10240</sizeThreshold>
    <keepFiles>8</keepFiles>
  </log>
  <executable>D:\minio\run.bat</executable>
</service>
set MINIO_ACCESS_KEY=admin
set MINIO_SECRET_KEY=abcd@1234
minio.exe server -address :9999 D:\minioData

解壓部署包后cmd進入對應解壓路徑,輸入命令minio.exe server D:\minioData 初始化后關(guān)閉cmd命令

使用服務安裝工具安裝服務,選擇minio-service.exe

windows服務安裝工具下載地址:http://xiazai.jb51.net/202204/yuanma/windowsfuwu_jb51.rar

啟動服務后訪問 http://127.0.0.1:9999/

用戶名:admin 密碼:abcd@1234 (端口及賬戶密碼都是在run.bat文件中配置的)

進入系統(tǒng)創(chuàng)建bucket用于存儲文件(類似于阿里云)

配置pom文件

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

配置yml文件

這里分別配置上傳/下載地址是正式項目可能配置外網(wǎng)端口后,服務器中不能訪問對應的外網(wǎng)端口,上傳走內(nèi)網(wǎng),下載走外網(wǎng)

#minio配置
  # 上傳地址
  minio_uploadurl: http://192.168.1.42:9999/
  # 下載地址
  minio_downloadurl: http://192.168.1.42:9999/
  # 賬戶
  minio_accesskey: admin
  # 密碼
  minio_secrectkey: abcd@1234
  # 存儲文件夾
  minio_bucknetname: xxx

Minio工具類

初始化client

public MinioClient InitMinio() {
        MinioClient minioClient = MinioClient.builder().
        endpoint(frameConfig.getMinio_uploadurl()).       		        credentials(frameConfig.getMinio_accesskey(),frameConfig.getMinio_secrectkey()).build();
        try{
            boolean isExist = minioClient.bucketExists(frameConfig.getMinio_bucknetname());
            if (!isExist) {
                minioClient.makeBucket(frameConfig.getMinio_bucknetname());
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        return minioClient;
    }

上傳文件

getkey方法只是指定對應的自定義存儲路徑

指定content-type是為了瀏覽器能打開附件時,圖片和pdf等文件能夠在線瀏覽

不指定默認都是stream,打開文件統(tǒng)一為下載

 public boolean uploadMinioFile(InputStream stream, AttachmentDO attachmentDO,String contentType){
        boolean result = true;
        try{
            MinioClient minioClient = InitMinio();
            String bucketName =frameConfig.getMinio_bucknetname();
            PutObjectOptions option = new PutObjectOptions(stream.available(), -1);
            option.setContentType(contentType);
            minioClient.putObject(bucketName,getKey(attachmentDO),stream,option);
        }catch (Exception e){
            logger.error("Minio上傳文件失敗:" + e.getMessage());
            result = false;
        }
        return result;
    }

下載文件

需要注意的是,生成的文件下載地址是和MinioClient中指定的服務器地址綁定的,使用nginx代理后是無效的

 public  String readMinioCommonFile(AttachmentDO attachmentDO){
        String fileurl = "";
        try{
            MinioClient minioClient = InitMinio();
            String bucketName =frameConfig.getMinio_bucknetname();
            return minioClient.presignedGetObject(bucketName, getKey(attachmentDO));
        }catch (Exception e){
            logger.error("Minio讀取文件失敗:" + e.getMessage());
        }
        return fileurl;
    }

刪除文件

 public  boolean deleteMinioFile(AttachmentDO attachmentDO){
        boolean result = true;
        try{
            MinioClient minioClient = InitMinio();
            String bucketName =frameConfig.getMinio_bucknetname();
            minioClient.removeObject(bucketName,getKey(attachmentDO));
        }catch (Exception e){
            logger.error("Minio刪除文件失敗:" + e.getMessage());
            result = false;
        }
        return result;
    }

到此這篇關(guān)于SpringBoot中整合Minio文件存儲的安裝部署過程的文章就介紹到這了,更多相關(guān)SpringBoot整合Minio文件存儲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot中的PropertySource原理詳解

    SpringBoot中的PropertySource原理詳解

    這篇文章主要介紹了SpringBoot中的PropertySource原理詳解,PropertySource?是一個非常重要的概念,它允許您在應用程序中定義屬性,并將這些屬性注入到?Spring?環(huán)境中,需要的朋友可以參考下
    2023-07-07
  • nacos將服務注冊到不同的命名空間下問題

    nacos將服務注冊到不同的命名空間下問題

    Nacos是SpringCloudAlibaba架構(gòu)中最重要的組件,提供注冊中心、配置中心和動態(tài)DNS服務三大功能,如果需要配置多個數(shù)據(jù)庫適配的環(huán)境,啟動服務時需要將服務注冊到不同的命名空間下,并配置新部署的網(wǎng)關(guān)服務ip和端口或者域名
    2024-12-12
  • idea創(chuàng)建maven項目速度慢的三種解決方案

    idea創(chuàng)建maven項目速度慢的三種解決方案

    這篇文章主要介紹了idea創(chuàng)建maven項目速度慢的三種解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Java日常練習題,每天進步一點點(4)

    Java日常練習題,每天進步一點點(4)

    下面小編就為大家?guī)硪黄狫ava基礎的幾道練習題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • 講解Java設計模式編程中的建造者模式與原型模式

    講解Java設計模式編程中的建造者模式與原型模式

    這篇文章主要介紹了Java設計模式編程中的建造者模式與原型模式,設計模式有利于團隊開發(fā)過程中的代碼維護,需要的朋友可以參考下
    2016-02-02
  • Centos7.3下jre1.8安裝和配置教程

    Centos7.3下jre1.8安裝和配置教程

    這篇文章主要為大家詳細介紹了Centos7.3下jre1.8安裝和配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • spring中的注解事務演示和添加步驟詳情

    spring中的注解事務演示和添加步驟詳情

    這篇文章主要介紹了spring中的注解事務演示和添加步驟詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • 淺談synchronized方法對非synchronized方法的影響

    淺談synchronized方法對非synchronized方法的影響

    下面小編就為大家?guī)硪黄獪\談synchronized方法對非synchronized方法的影響。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • OAuth2生成token代碼備忘實現(xiàn)過程示例

    OAuth2生成token代碼備忘實現(xiàn)過程示例

    這篇文章主要為大家介紹了OAuth2生成token代碼備忘實現(xiàn)過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Spring+MyBatis實現(xiàn)數(shù)據(jù)庫讀寫分離方案

    Spring+MyBatis實現(xiàn)數(shù)據(jù)庫讀寫分離方案

    本文主要介紹了Spring+MyBatis實現(xiàn)數(shù)據(jù)庫讀寫分離方案。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01

最新評論

绥棱县| 江孜县| 康马县| 文安县| 保德县| 扎囊县| 浏阳市| 诏安县| 武强县| 宜川县| 云梦县| 延边| 江城| 彭山县| 武川县| 雷波县| 扎赉特旗| 封开县| 萍乡市| 张掖市| 威海市| 昭觉县| 霍州市| 武川县| 凌海市| 仁化县| 额济纳旗| 包头市| 内丘县| 南和县| 泉州市| 来凤县| 紫金县| 涞水县| 甘泉县| 平江县| 永济市| 边坝县| 兴业县| 新巴尔虎右旗| 永嘉县|