Как создать GD-образ из javascript с кодировкой base64?

У меня есть загрузка Api, которая в качестве объекта ответа поставляет (наряду с другим материалом внутри объекта Json) образ jpeg с кодировкой base64.

Я создаю кодированное изображение так:

$im; // gd image resource ob_start(); imagejpeg($im); $data = base64_encode(ob_get_clean()); 

Затем данные помещаются внутри поля формы с использованием javascript и отправляются.

Как я могу снова создать ресурс GD, чтобы я мог сохранить это изображение в виде файла?

Все в PHP.

Вы можете использовать функцию imagecreatefromstring () :

 $data = base64_decode($_POST['image_as_base64']); $formImage = imagecreatefromstring($data); 

«Строка» не означает «настоящую» строку. В этом случае это означает данные байт / blob.

Как я могу снова создать ресурс GD, чтобы я мог сохранить это изображение в виде файла?

Вы уверены, что вам нужно сделать этот дополнительный шаг? Как насчет:

 file_put_contents('MyFile.jpg', base64_decode($_POST['MyFormField'])); 

Я сделал так:

 // input is in format: data:image/png;base64,... $str="data:image/png;base64,"; $data=str_replace($str,"",$_POST['image']); $data = base64_decode($data); file_put_contents('tmp/'.mktime().'.png', $data);