Dekodierung einer Leinwand todataURL

Ich habe Schwierigkeiten bei der Verwendung von Daten erstellt, die mit Leinwand todataurl () - Methode. Derzeit mein code sendet die resultierenden Daten an mein php-server nutzt die file_put_contents () - Methode eine Datei zu erstellen, um die Daten zu speichern. Wenn ich jetzt geschnitten und fügen Sie die resultierende Kauderwelsch aus der Datei in ein image-tag src funktioniert es einwandfrei und zeigt so richtig, ich nehme also alles ist peachy.

Aber ich halten Sie in Probleme laufen, wenn ich versuche, den code in JS. Ich habe versucht die php base64_decode-Methode, aber immer currupt-Dateien. Ich fand diesen code:

<?php
  $encodedData = str_replace(' ','+',$encodedData);
  $decocedData = base64_decode($encodedData);

noch currupted Dateien. Idealerweise würde ich gern ein .png-Datei mit, aber ich würde dich für nur die Verarbeitung der Daten-Datei wieder in JS. Jede Hilfe sehr geschätzt.

Sie müssen einfach nur Lesen Sie den MIME-Typ (wahrscheinlich behoben/bekannt) und die Kodierung (wahrscheinlich keiner), die Daten zu interpretieren, die standard-Base64. Es werden keine Leerzeichen ersetzt werden, wenn Sie URL-kodiert die Eingabe früher. PHP-FileUpload hat einen DataUriUpload Komponente der tut all dies automatisch. Es ist dokumentiert hier.

InformationsquelleAutor joel | 2011-09-03

Schreibe einen Kommentar