Korzystam z narzędzia JavaScript „Canvas2Image” Nihilogic do konwersji rysunków na obrazy w formacie PNG. Teraz potrzebuję przekształcić ciągi base64 generowane przez to narzędzie w rzeczywiste pliki PNG na serwerze, używając PHP.
Krótko mówiąc, obecnie tworzę plik po stronie klienta za pomocą Canvas2Image, a następnie pobieram dane zakodowane w standardzie base64 i wysyłam na serwer za pomocą AJAX:
// Generate the image file
var image = Canvas2Image.saveAsPNG(canvas, true);
image.id = "canvasimage";
canvas.parentNode.replaceChild(image, canvas);
var url = 'hidden.php',
data = $('#canvasimage').attr('src');
$.ajax({
type: "POST",
url: url,
dataType: 'text',
data: {
base64data : data
}
});
W tym momencie „hidden.php” otrzymuje blok danych, który wygląda jak data: image / png; base64, iVBORw0KGgoAAAANSUhEUgAABE ...
Od tego momentu jestem prawie zakłopotany. Z tego, co przeczytałem, uważam, że powinienem użyć funkcji imagecreatefromstring PHP , ale nie jestem pewien, jak faktycznie utworzyć rzeczywisty obraz PNG z ciągu zakodowanego w base64 i zapisać go na moim serwerze. Proszę o pomoc!