PostgreSQL 有这种数据类型,称为bytea
. 这是他们的blob版本。
在显示图像时,png/jpg/gif,现在的趋势是使用数据 URL。
我的问题是如何将 bytea 值转换为 Base64 数据 URL 值?
PostgreSQL 有这种数据类型,称为bytea
. 这是他们的blob版本。
在显示图像时,png/jpg/gif,现在的趋势是使用数据 URL。
我的问题是如何将 bytea 值转换为 Base64 数据 URL 值?
您还可以从数据库中获取完整的图像数据 URL,例如:
SELECT 'data:image/gif;base64,' || encode(image_data, 'base64') AS image_url
FROM ...
$img_bin = hex2bin(substr($the_bytea, 2));
$url = 'data:image/gif;base64,' . base64_encode($img_bin);
Postgres bytea 是一个\x
以十六进制字符开头的字符串。要获得二进制格式的图像,需要去掉前导\x
并将十六进制字符转换为二进制hex2bin
。现在你有了二进制文件,你就可以base64_encode
了。