无法从 Postgres 9.3.1 的 bytea 列创建图像
Unable to create image from bytea column of Postgres 9.3.1
我已经在 postgres db (9.3.1) 的 bytea 列中保存了一个图像文件。
但问题是我使用以下代码在 originalImage 中得到 null。
BufferedImage originalImage = ImageIO.read(new ByteArrayInputStream(imageBytesFromDB ) );
但是,此代码在 postgres (8.4) 中有效。
为什么我在 postgres (9.3.1) 中得到 null?
添加 bytea_output
支持之前的旧 JDBC 驱动程序,以及默认为 escape
到 hex
的服务器,可以解释这一点。
驱动程序不知道如何解释 \xABCDEF
风格的输出,正试图将其解码为八进制转义符号。
我已经在 postgres db (9.3.1) 的 bytea 列中保存了一个图像文件。 但问题是我使用以下代码在 originalImage 中得到 null。
BufferedImage originalImage = ImageIO.read(new ByteArrayInputStream(imageBytesFromDB ) );
但是,此代码在 postgres (8.4) 中有效。 为什么我在 postgres (9.3.1) 中得到 null?
添加 bytea_output
支持之前的旧 JDBC 驱动程序,以及默认为 escape
到 hex
的服务器,可以解释这一点。
驱动程序不知道如何解释 \xABCDEF
风格的输出,正试图将其解码为八进制转义符号。