当我在postgreSQL数据库中插入图像到字节数组数据结构时,我遇到了一个问题。
特别是当我执行INSERT指令后,我从数据库中查询图像,但我得到的不是图像的原始内容,而是"\x...... "前的空格和"-"的序列。
我应该得到的是"\x "后面的十六进制字节数组,这与我插入的图像相对应。
我试过从psql数据库和jdbc中直接插入原始的十六进制字节数组,得到的结果是一样的。
例如,sql指令如下。
INSERT INTO profile VALUES ("label", "\x..........");
在x后面显然是图像的十六进制内容。
java代码很长,但如果需要的话,我也可以提供。
这可能是哪个问题?
图片查询输出的例子。
image
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
\x89504e470d0a1a0a0000000d494844520000000b0000000b080200000026cee071000000097048597300000ec400000ec401952b0e1b0000
008b4944415418574d90415644310804abc8dcff3e9ecb9dcf49b948fc1a164077d30fe2e7c717c0e0b2778e7de7d80e005e27b1a91c7be7faa
3cfec6f1904d03bc0f15043b804904a455c9706e642738176746daea2633d383ece74a5c0eb24ba715b6ee1f26f53957f0b3eef253ea78a914b
3691d86eaa768e4abbe3748eca5cbe1c8f2878feea806c58fc0003f05bd3a47a34520000000049454e44ae426082
其实数据并没有被填充,而且是正确打印的,只是我在psql中尝试查询时加了"-"字符。
其实当你从命令行执行查询时,你会得到这样的结果。
label
-----
value
由于我的数据非常长,它添加了所有的- 就像如果它将会被打印在只有一行的情况下一样