2017-02-13 70 views
0

由于图像尺寸非常小(即图标< 5KB),我已将图片作为base64编码格式插入H2数据库。如何将CLOB转换为Javascript中的字符串

我已经使用了CLOB数据类型,并将其正确存储在“img”列中。

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVChTVY8LEsIgDES5qybY6SHKp3oKsR5CqxezJdA6pqT+ZnaGhEc2i4o0i8aYrPXhdI6UP5dfTJQR0RjDeEg/eEh5jBPfgsbGGq7/MNtKAwBlemUsZYzjIcQdS2tA3ALwsUNdHUOnQuhc653fe+8BNnVdte2BW9bleiu7RxKrEs2VHLIxK24oPQVrrZvGFrYk5WLB74+uybl+0GLAY5Jc3CbO0ff38rSI5hdpMe9eZGPCOAAAAABJRU5ErkJggg== 

的问题,而这样做select *,它表明:

“clob19:SPACE(398/*表:4875 ID:1 * /)”

而不是我提到的实际字符串。我打电话这个SELECT *从jQuery的/ AJAX(不是Java)在JSON显示这样使Ajax响应:

[{"img":"clob19: SPACE(398 \/* table: 4875 id: 1 *\/)","type":"abc","id":"1"}] 

我怎么能IMG数据转换成字符串让我的base64的文字?

回答

1

我和hsqldb有类似的问题,就像h2的姐姐。

我选择了使用longvarchar数据类型而不是clob来解决问题的简单方法,以便使用文本数据而不是二进制数据。

性能良好,超过10^6行

在H2,整数=] -2147483648; 2147483647 [所以我想你可以存储至少2GB的文本字段中的数据

+0

谢谢,但没有在h2 longvarchar ...请参阅http://www.h2database.com/html/datatypes.html – Sky

+0

http: //www.h2database.com/html/datatypes.html#varchar_type 只需尝试“Integer.MAX_VALUE”即可查看varchar的大小限制 –

+0

varchar的限制为255,而我的base64二进制字符串比这个多得多 – Sky

相关问题