Ein Hinweis zum Generieren eines ** Daten-URI ** aus einer Datei in Java
** Daten-URI ** ist eine Base64-codierte Version von Mediendaten usw. und lautet wie folgt.
data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28y ...==
In HTML
<image src="data:image/png;base64,AAAAIGZ0eXBpc29tAAAC ・ ・ ・">
<video src="data:video/mp4;base64,AAAAIGZ0eXBpc29tAAAC ・ ・ ・">
Es ist möglich, src like anzugeben.
Untersuchen Sie den MIME-Typ der Datei.
File file = new File("movie.mp4");
String contentType = Files.probeContentType(file.toPath());
byte[] data = Files.readAllBytes(file.toPath());
String base64str = DatatypeConverter.printBase64Binary(data);
String base64str = Base64.getEncoder().encodeToString(data);
Formatieren Sie wie folgt
data:[<MIME-type>][;charset=<encoding>][;base64],<data>
StringBuilder sb = new StringBuilder();
sb.append("data:");
sb.append(contentType);
sb.append(";base64,");
sb.append(base64str);
ToDataURI.java
package org.example;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import javax.xml.bind.DatatypeConverter;
public class ToDataURI {
public static void main(String[] args) throws IOException {
//Quelldatei
File file = new File("movie.mp4");
//Untersuchen Sie den Inhaltstyp einer Datei
String contentType = Files.probeContentType(file.toPath());
//Dateiinhaltsbyte[]Laden in
byte[] data = Files.readAllBytes(file.toPath());
// byte[]Zu einem base64-String(java7)
String base64str = DatatypeConverter.printBase64Binary(data);
// byte[]Zu einem base64-String(java8)
// String base64str = Base64.getEncoder().encodeToString(data);
//Erstellen Sie einen Daten-URI
StringBuilder sb = new StringBuilder();
sb.append("data:");
sb.append(contentType);
sb.append(";base64,");
sb.append(base64str);
//Ergebnisse anzeigen
System.out.println(sb.toString());
}
}
data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wN ・ ・ ・ Unten weggelassen
Recommended Posts