[Java] Generieren Sie einen Daten-URI aus einer Byte-Zeichenfolge mit Dateiinhalten. [Kotlin]

Dinge die zu tun sind

Erzeugt einen frontlesbaren "Daten-URI" aus den aus der Bilddatei erhaltenen Bytes.

Weise

Der Beispielcode lautet wie folgt.

import java.util.Base64

val bytes: ByteArray = //Byte-String aus Datei abgerufen
val base64Bytes: ByteArray = Base64.getEncoder().encode(bytes) //Base64-Codierung
val base64Utf8String = String(base64Bytes, Charsets.UTF_8) // UTF-Umstellung auf 8

val mimeType: String = //MIME-Typ, der durch eine Methode erhalten wurde

//Daten-URI-Generierung
val dataUri: String = "data:${mimeType};base64,${base64Utf8String}"

Kommentar

Codierung in Base64

Die Codierung in "Base64" kann ohne Installation einer Bibliothek erfolgen, indem der in "java.util.Base64" in "Java8" oder höher definierte Encoder verwendet wird.

Hier werden drei Arten von Encodern definiert: Basic, "URL" und "MIME". Wie im Beispiel gezeigt, können sie jedoch ohne Verwendung des Basic-Encoders an der Vorderseite nicht richtig interpretiert werden.

Konvertierung in einen String

Da das codierte Ergebnis eine Bytezeichenfolge ist, kann es nicht als "Daten-URI" behandelt werden, es sei denn, es wird ordnungsgemäß in eine Zeichenfolge konvertiert.

Holen Sie sich den MIME-Typ

Der Beispielcode beschreibt nicht, wie man den "MIME-Typ" erhält, aber ich denke, es ist am besten, die Erweiterung zu erraten, es sei denn, Sie haben eine bestimmte Überlegung.

Es ist auch möglich, den MIME-Typ mithilfe von [unter Verwendung von Apache Tika] genau zu bestimmen (https://qiita.com/wrongwrong/items/f21c738afb3dca92818e).

Recommended Posts

[Java] Generieren Sie einen Daten-URI aus einer Byte-Zeichenfolge mit Dateiinhalten. [Kotlin]
[Java] Holen Sie sich MimeType aus dem Inhalt der Datei mit Apathce Tika [Kotlin]
Generieren Sie den Quellcode aus der JAR-Datei mit der JD-GUI des Java Decompiler-Projekts
JAVA: jar, aar, zeige den Inhalt der Datei an
Java-Sprache aus der Sicht von Kotlin und C #
[Java] Zeichensatz mit Apathce Tika abrufen / String von Zeichensatz initialisieren [Kotlin]
Generieren Sie Stream aus einem Array primitiver Typen in Java
So überprüfen Sie den Inhalt der Java-Zeichenfolge mit fester Länge
[Java] Geschwindigkeitsvergleich der Zeichenfolgenkombination
Verschiedene Methoden der Java String Klasse
Ersetzen Sie den Inhalt der Jar-Datei
Generieren Sie HashMap aus einer XML-Ressourcendatei
Führen Sie eine Batchdatei von Java aus
[Java] Laufzeitdatenbereiche von JVM
Kotlin-Generika für Java-Entwickler
[Java] Korrekter Vergleich des String-Typs