Java BLOB到映像文件

时间:2018-05-19 16:50:04

标签: java image blob

我从MySQL数据库中检索到BLOB,如下所示:

Blob imageBlob;
while (rs.next()) {
    imageBlob= rs.getBlob("face");
}

之后我的imageBlob就像这样:data:image/png;base64,iVBORw0KGgoAAAANSUhE................

我一直在谷歌搜索但我没有找到任何解决我的问题的方法:如何创建一个图像文件并将其保存在这个BLOB的磁盘上?

2 个答案:

答案 0 :(得分:2)

res = df[df.groupby('user')['artist'].transform('nunique') > 1] print(res) user artist plays gender age Country 0 a devendrabanhart 456 m 28.0 UnitedStates 2 a cocorosie 386 m 28.0 UnitedStates 正在存储图像数据的base64表示。要将其存储到磁盘上,您需要将base64表示解码为原始二进制格式表示。

imageBlob

答案 1 :(得分:-1)

首先将Blob转换为BuffededImage:

Blob aBlob = rs.getBlob("Photo");
InputStream is = aBlob.getBinaryStream(0, aBlob.length());
BufferedImage image=ImageIO.read(is);

然后BufferedImage to Image:

try {
    // Retrieve Image
    File outputfile = new File("saved.png");
    ImageIO.write(image, "png", outputfile); // Write the Buffered Image into an output file
    Image image  = ImageIO.read(new File("saved.png")); // Opening again as an Image
} catch (IOException e) {
    ...
}