在Windows JAVA中将base64图像转换为Sql Blob

时间:2015-05-22 08:44:12

标签: java base64 bytearray blob

我正在尝试将Base64转换为JAVA中的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?我该如何改进我的代码?如果我不接近我怎么能做到这一点?

2 个答案:

答案 0 :(得分:1)

也许您需要 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);    
}

答案 1 :(得分:-1)

这是我的问题的解决方案:

我必须将我的Base64 String图片转换为byte[]

public static byte[] Base64ToBytes(String imageString) throws IOException {
BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(imageString);
return decodedBytes;
}

希望这会帮助别人。