我正在尝试将JAVA中的Base64转换为Blob,到目前为止,我已经开发了此代码,并且可以正常工作,但它不是blob:
public static BufferedImage decodeToImage(String imageString) {
BufferedImage image = null;
byte[] imageByte;
try {
BASE64Decoder decoder = new BASE64Decoder();
imageByte = decoder.decodeBuffer(imageString);
ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);
image = ImageIO.read(bis);
bis.close();
} catch (Exception e) {
e.printStackTrace();
}
return image;
}
我想我必须将bufferedImage转换为byteArray吗?如何改善我的代码?如果我什至没有关闭,我该怎么办呢?
最佳答案
也许您需要一个SerialBlob?像这样:
import javax.sql.rowset.serial.SerialBlob;
.
.
.
public static SerialBlob decodeToImage(String imageString) {
BASE64Decoder decoder = new BASE64Decoder();
byte[] imageByte = decoder.decodeBuffer(imageString);
return new SerialBlob(imageByte);
}