Senden Sie den Inhalt einer Zeichenfläche an einen Java-Server und speichern Sie sie als Bild

8

Okay, im Grunde habe ich ein einfaches System zum Hochladen von Bildern entwickelt. Der Benutzer wählt ein lokales Bild aus (mithilfe der HTML5 File / FileReader-API) und kann es zuschneiden, bevor das Ergebnis bestätigt wird.

Das Endergebnis wird in einer Zeichenfläche angezeigt, um es an den Server zu senden, den ich für DataURL verwende. Der Backend-Server ist ein NodeJS-Server, der dann einen REST-Aufruf an einen Java-Server machen muss, der aus den Daten eine Image-Datei erstellt und auf der Festplatte speichert.

Die Ergebnisse von toDataURL haben die Form: Daten: image / png; base64, ENCODED DATA.

Was würde ich auf dem Java-Server brauchen, um die Zeichenfolge in die richtige Binärdarstellung zu konvertieren?

    
NRaf 09.01.2012, 21:45
quelle

4 Antworten

6

Sie müssen data:image/png;base64, part und base 64 decode den Rest entfernen .

    
copy 09.01.2012, 21:49
quelle
5
%Vor%     
M.Sanad 22.06.2012 15:22
quelle
1

Sobald Sie Base64-decodieren, haben Sie das Binärbild in Form einer PNG-Datei. In diese SO-Frage finden Sie Einzelheiten zum Dekodieren einer Base64-Zeichenfolge in Byte.

    
dgvid 09.01.2012 21:50
quelle
0

Sie müssen Platzhalter durch ersetzen, wenn Ihr base64Image Leerzeichen enthält, dann müssen Sie die Daten entfernen: image / png; base64, vom Anfang des base64Image. Wenn Sie das Leerzeichen nicht ersetzen, können Sie das richtige Bild nicht erhalten. dann können Sie Base64 dekodieren

yourBase64String = yourBase64String.replace ('', '+');

yourBase64String = yourBase64String.substring (22);

    
Solomon Tesfaye 09.02.2018 06:04
quelle

Tags und Links