当我使用 PostgreSQL(来自 MySQL 和 PHP mysqli-connector)将 Web 应用程序转换为 ODBC 时,我目前遇到了一个奇怪的问题。
我注意到存储bytea
在 PostgreSQL 数据库中并放入 PHP 的 base64 函数的图像没有正确显示。在某些时候,它在几行后被切断。这个截断bytea
是存储在我们数据库中的所有图像数据,我们有用于徽标和签名的数据。
如果您使用浏览器的检查器检查 img 标签,您会看到(至少在 Chrome 中)该图像丢失了很多数据。
我所做的是一个SELECT * FROM table
然后在for循环中将图像编码为base64:
$clients[$i]['logo'] = base64_encode($clients[$i]['image']);
$clients[$i]['image'] = this is the bytea in the database and
$clients[$i]['logo'] = this is the base64 String that I display in a Smarty template like this: data:image/png;base64,{$client.logo}
我希望你能帮忙。