如何使用 PHP 将 PostgreSQL bytea 值转换为数据 URL 值

How to convert the PostgreSQL bytea value into Data URL value using PHP

PostgreSQL 的这种数据类型称为 bytea。这是他们的 blob.

版本

在显示图像时,png/jpg/gif,现在的趋势是使用数据URLs

我的问题是如何将 bytea 值转换为 Base64 数据 URL 值?

参考资料

$img_bin = hex2bin(substr($the_bytea, 2));
$url = 'data:image/gif;base64,' . base64_encode($img_bin);

Postgres bytea 是一个以 \x 开头后跟十六进制字符的字符串。要获取二进制格式的图像,需要去掉前导 \x 并用 hex2bin 从十六进制字符转换为二进制。现在你有了它的二进制文件,你可以 base64_encode 它。

您还可以从您的数据库中获取完整的图像数据URL,例如:

SELECT 'data:image/gif;base64,' || encode(image_data, 'base64') AS image_url 
FROM ...