【发布时间】:2015-02-16 19:18:57
【问题描述】:
我在显示数据库中的图片时遇到问题,数据库将图片保存在 blob 中,当我拾取 blob 传递给 Byte[] 的数据时,之后我这样做是为了显示图像,为什么没有工作吗?
Select_1 xp = new Select_1();
byte[] img=xp.Select_1(username);
InputStream in = new ByteArrayInputStream(img);
BufferedImage image = ImageIO.read(in);
BufferedImage resizedImage=resize(image,204,204);
ImageIcon icon=new ImageIcon(resizedImage);
lblavatar.setIcon(icon);
根据注释编辑:
最初,图像是使用以下方法编写的:
blob = (Blob) connect.createBlob();
ImageIcon ii = new ImageIcon(ficheiro);
ObjectOutputStream oos;
oos = new ObjectOutputStream(blob.setBinaryStream(1));
oos.writeObject(ii);
oos.close();
psInsert.setBlob(4, blob);
【问题讨论】:
-
你在标题中写了“BufferedReader”,但是你的代码没有BufferedReader。你说“我有问题”,但你没有告诉我们哪个是(错误消息、异常、意外结果)。你的前两行代码令人费解(
xp.Select_1到底是什么??)你不要告诉我们第一行image是否被检索到。这些只是您的问题缺乏质量的部分原因。 -
任何错误信息,异常?数据库blob保存什么样的图像格式
-
对不起是 BufferedImage。问题是不检索任何错误......并且图像被检索(我认为)我将 blob 从数据库拉到字节 []
byte[] img= resultSet.getBytes("avatar");的方式是错误的吗? -
原图是如何转成blob的?
标签: java