model
@Lob
@Column(name = "HEADICON",updatable=true,insertable=true)
private byte[] headIcon;
dao
User rtUser = getHibernateTemplate().get(User.class, user.getUserid());
if(rtUser ==null) return false;
InputStream is;
try {
is=new FileInputStream(new File(iconImg));
byte[] b = new byte[is.available()];
is.read(b);
is.close();
rtUser.setHeadIcon(b);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
getHibernateTemplate().update(rtUser);
getHibernateTemplate().flush();
读取
User rtUser = userService.getUser(user.getUserid());
InputStream in =new ByteArrayInputStream(rtUser.getHeadIcon());
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("image/jpeg");
ServletOutputStream out = response.getOutputStream();
byte[] buffer=new byte[500];
int length = 0;
while(-1 != (length = in.read(buffer, 0, buffer.length)))
{
out.write(buffer);
}
in.close();
out.close();
本文介绍了一种实现用户头像上传及读取的方法。使用Hibernate模板进行数据库操作,包括将用户上传的图片文件转化为byte数组存储到数据库中,并能从数据库中获取该byte数组并转换为图片进行展示。

被折叠的 条评论
为什么被折叠?



