Aus mehreren Posts, die ich gesehen habe, versuche ich das
%Vor%Aber dann kann ich das Bild nicht mit einem Betrachter öffnen, muss ich etwas mehr tun?
Ihr Problem ist, dass Sie versuchen, das Präfix 'data:image/png;base64,'
als Base64-Daten zu dekodieren; Dieses Präfix ist eine gültige Base64-Daten, aber es ist nicht die Base64-Darstellung einer PNG-Datei. Das Ergebnis ist, dass Ihre test.png
-Datei eine Menge Unsinn enthält, gefolgt von einigen Bits, die tatsächlich eine PNG-Datei sind. Entfernen Sie das Daten-URL-Präfix, bevor Sie das PNG dekodieren:
mu_is_too_short Antwort ist ziemlich nahe, aber es wird davon ausgegangen, dass base64-Stream PNG-Daten enthalten wird. Dies ist nicht immer der Fall, also schlage ich vor, Mime-Typen-Bibliothek zu verwenden, um korrekte Dateierweiterung zu etablieren:
%Vor%Aus mehreren Posts, die ich gesehen habe, versuche ich das
%Vor%Aber dann kann ich das Bild nicht mit einem Betrachter öffnen, muss ich etwas mehr tun?
Das ist ein kleines Skript zum Öffnen von base64-Bildern, vacio.txt ist die Datei, wenn ich den base64-Text habe.
%Vor% Ihr Problem ist, dass Sie versuchen, das Präfix Regexp
als Base64-Daten zu dekodieren; Dieses Präfix ist eine gültige Base64-Daten, aber es ist nicht die Base64-Darstellung einer PNG-Datei. Das Ergebnis ist, dass Ihre .toDataURL()
-Datei eine Menge Unsinn enthält, gefolgt von einigen Bits, die tatsächlich eine PNG-Datei sind. Entfernen Sie das Daten-URL-Präfix, bevor Sie das PNG dekodieren:
mu_is_too_short Antwort ist ziemlich nahe, aber es wird davon ausgegangen, dass base64-Stream PNG-Daten enthalten wird. Dies ist nicht immer der Fall, also schlage ich vor, Mime-Typen-Bibliothek zu verwenden, um korrekte Dateierweiterung zu etablieren:
%Vor%