Heim > Java > javaLernprogramm > Hauptteil

Wie SpringBoot den Minio-Dateispeicher integriert

PHPz
Freigeben: 2023-05-12 22:37:12
nach vorne
1168 Leute haben es durchsucht

Hintergrund

Das Entwicklungsframework des Unternehmens integriert lokalen Anhangsspeicher, Alibaba Cloud, Huawei Cloud usw. Das aktuelle Projekt erfordert, dass sich der Anhangsspeicher und die Anwendungsbereitstellungsumgebung nicht auf demselben Server befinden und auch kein Cloud-Speicher verwendet werden kann Nach der technischen Auswahl festgelegt. Integrieren Sie Minio, stellen Sie Minio auf einem anderen Server bereit und öffnen Sie den externen Netzwerkport, um das Problem zu lösen Paket

Download-Adresse: http://xiazai.jb51.net/202204/yuanma/minio_jb51.rar

Erstellen Sie den minioData-Ordner als Dateispeicherpfad, entpacken Sie das Installationspaket und ändern Sie die entsprechenden Konfigurationsdateidateien entsprechend der Platzierung path

minio-service.xml und 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>
Nach dem Login kopieren
set MINIO_ACCESS_KEY=admin
set MINIO_SECRET_KEY=abcd@1234
minio.exe server -address :9999 D:\minioData
Nach dem Login kopieren

Geben Sie nach dem Dekomprimieren des Bereitstellungspakets den entsprechenden Dekomprimierungspfad cmd ein und geben Sie den Befehl minio.exe server D:minioData ein. Schließen Sie nach der Initialisierung den cmd-Befehl

Verwenden Sie Wählen Sie zum Installieren des Dienstes minio-service.exe aus.

Download-Adresse des Windows-Dienstinstallationstools:http://xiazai.jb51.net/202204/yuanma/windowsfuwu_jb51.rar

Besuchen Sie nach dem Starten des Dienstes http: //127.0.0.1:9999/

Benutzername: admin Passwort: abcd@1234 (Port- und Kontopasswort Sie sind alle in der Datei run.bat konfiguriert)

Geben Sie das System ein, um einen Bucket zum Speichern von Dateien zu erstellen (ähnlich wie Alibaba Cloud)

Konfigurieren Sie die POM-Datei --h3>

  <dependency>
            <groupId>io.minio</groupId>
            <artifactId>minio</artifactId>
            <version>7.1.0</version>
        </dependency>
Nach dem Login kopieren
Wie SpringBoot den Minio-Dateispeicher integriertKonfigurieren Sie die YML-Datei

Konfigurieren Sie sie hier separat. Die Upload-/Download-Adresse ist das offizielle Projekt nach der Konfiguration des externen Netzwerkports Auf den Server kann nicht zugegriffen werden. Das Hochladen erfolgt über das interne Netzwerk und das Herunterladen erfolgt über das externe Netzwerk

Die Angabe des Inhaltstyps dient dazu, dass, wenn der Browser Anhänge öffnen kann, Bilder und PDF-Dateien online durchsucht werden können.

Wenn nicht angegeben, ist die Standardeinstellung Stream und das Öffnen von Dateien wird als Download vereinheitlicht.

#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
Nach dem Login kopieren

Dateien herunterladen Es ist zu beachten, dass die generierte Datei-Download-Adresse an die in MinioClient angegebene Serveradresse gebunden ist. Sie ist nach Verwendung des Nginx-Proxys ungültig

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;
    }
Nach dem Login kopieren

Löschen Sie die Datei

 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;
    }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie SpringBoot den Minio-Dateispeicher integriert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage