我从数据库中获取了BLOB数据并使用下面的代码将其放入一个字符串(rs是ResultSet,文件是Map),有没有办法将这个字符串值放回BLOB列? / p>
Blob blob = rs.getBlob("FILE_DATA");
if(blob != null) {
byte[] bdata = blob.getBytes(1, (int) blob.length());
String data = new String(bdata);
file.put("FILE_DATA", data);
}
我尝试了一些像这样的建议,但它们效果不好。
Blob blbVal = getConnection().createBlob();
byte[] fileData = value.toString().getBytes();
blbVal.setBytes(1, fileData);
cs.setBlob(index, blbVal);
答案 0 :(得分:0)
我发现将BLOB放入String的方式也不正确,如果我们不对BLOB数据进行编码,它就会丢失。
在这里,我发现另一篇文章完美地解决了这个问题。感谢BalusC的回答 How to represent an image from database in JSON