Erzeugt einen frontlesbaren "Daten-URI" aus den aus der Bilddatei erhaltenen Bytes.
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}"
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.
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.
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