我有一张从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.