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
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>
set MINIO_ACCESS_KEY=admin set MINIO_SECRET_KEY=abcd@1234 minio.exe server -address :9999 D:\minioData
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>Konfigurieren Sie die YML-Datei
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
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; }
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; }
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!