我正试图在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了?如何改进我的代码?如果我还没接近,我该怎么做呢?
发布于 2015-05-22 11:22:57
这是我对我问题的解决办法:
我必须将我的Base64 String映像转换为byte[]:
public static byte[] Base64ToBytes(String imageString) throws IOException {
BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(imageString);
return decodedBytes;
}希望这能帮到别人。
发布于 2015-05-22 08:56:42
也许你需要一个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);
}https://stackoverflow.com/questions/30392173
复制相似问题