如何从base64编码的jpeg创建GD图像?

2022-08-30 22:50:40

我有一个上传Api,作为响应对象,它提供(以及Json对象中的其他东西)base64编码的jpeg图像。

我创建编码的图像,如下所示:

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

然后,使用javascript将数据放入表单字段中并提交。

如何再次从该资源创建GD资源,以便我实际上可以将该图像另存为文件?

一切都在PHP中。


答案 1

您可以使用 imagecreatefromstring() 函数:

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

$formImage = imagecreatefromstring($data);

“字符串”并不意味着“真正的”字符串。在这种情况下,它表示字节/blob 数据。


答案 2

如何再次从该资源创建GD资源,以便我实际上可以将该图像另存为文件?

您确定需要执行该额外步骤吗?怎么样:

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

推荐