2

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

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

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

参考

4

2 回答 2

3

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

SELECT 'data:image/gif;base64,' || encode(image_data, 'base64') AS image_url 
FROM ...  
于 2018-02-23T06:24:48.063 回答
1
$img_bin = hex2bin(substr($the_bytea, 2));
$url = 'data:image/gif;base64,' . base64_encode($img_bin);

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

于 2018-02-23T03:52:20.797 回答