我从MySQL数据库中检索到BLOB
,如下所示:
Blob imageBlob;
while (rs.next()) {
imageBlob= rs.getBlob("face");
}
之后我的imageBlob
就像这样:data:image/png;base64,iVBORw0KGgoAAAANSUhE................
我一直在谷歌搜索但我没有找到任何解决我的问题的方法:如何创建一个图像文件并将其保存在这个BLOB的磁盘上?
答案 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) {
...
}