我有一张从API响应中以base64字符串形式获取的图像。最初-我将字符串直接保存在数据库的mediumtext字段中。但这似乎占用了太多空间。

有没有一种方法可以将图像保存为平面文件-将其链接存储在数据库的图像字段中,然后再次使用查询检索它?

我在服务器端和AWS上使用PHP。由于数据库空间不足,我需要这个。

另外-我知道我们可以通过将base64字符串解码为图像并将其保存在服务器上来保存它,但是如何检索和编码呢?

最佳答案

使用对函数base64_encode / base64_decode进行此操作:

$encoded = 'SomeBase64EncodedString';

$decoded = base64_decode($encoded);
// Now $decoded is the binary content of image, save it anywhere you want.
// Example: file_put_content('/tmp/image.png', $decoded);

// When you want to retrieve the base64 encoded string again
$decoded = file_get_contents('/tmp/image.png');
$encoded = base64_encode($decoded);

// Now you have $encoded, as a base64 encoded string. Do as you please with it.

09-25 17:57