2017-02-13 35 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

相關問題