java问题将图片以二进制存入数据流然后插入sql2000数据库 10

ejb将服务器的数据以二进制发到本地,本地将该二进制进行格式转换,转换为BMP格式,存在sql2000数据库里代码如下byte[]Pic=Acco.getAccountP... ejb将服务器的数据以二进制发到本地,本地将该二进制进行格式转换,转换为BMP格式,存在sql2000数据库里代码如下
byte[] Pic= Acco.getAccountPicture();//获得jpg格式照片
byte[] Picc= null;//获得处理后为bmp格式的照片
int length=(int)Pic.length;
if (length>0)
{
bufferedImage = ImageIO.read(new ByteArrayInputStream(Pic));
out= new ByteArrayOutputStream();
ImageIO.write(bufferedImage, "bmp", out);
System.out.println(out.size());
Picc=out.toByteArray();
InputStream input=new ByteArrayInputStream(Picc);
String stt="insert into 读者库 (照片) values(?) where 电话="+"'"+AccoID+"'";
System.out.println(stt);
PreparedStatement preStmt=con.prepareStatement("update 读者库 set 照片=? where 电话="+"'"+AccoID+"'");
preStmt.setBinaryStream(1,input,Picc.length);
preStmt.execute();
}
}
}
}
catch(Exception ex)
{
System.out.println("账号:"+AccoID+"处理失败"+":"+ex.getMessage());
}
}
StaticLogger.logInfo("处理照片成功");
}
catch(Exception ee)
{
StaticLogger.logInfo("处理照片失败"+ee.getMessage()+"帐户ID:"+AccoID);
}
出现的问题是
ImageIO.write(bufferedImage, "bmp", out);
其中的out始终是0 但是bufferedImage里面是有值的
请高手解答
展开
 我来答
经历过乳ck
2009-08-05 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:108万
展开全部
out=new ByteArrayInputStream(Pic);

bufferedImage = ImageIO.read(out);

ImageIO.write(bufferedImage, "bmp", out);

System.out.println(out.size());
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式