У меня есть загрузка 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);