1、图片文件的上传,这个和普通文件的上传是一样的,从页面选择图片文件到数据传至Action的操作,之前的日记中已经说明过,不再赘述,主要说怎样将图片文件存入数据库以及从数据库中读出来显示在页面的问题。
2、图片文件存入数据库,@R_502_6308@Server2005数据库中字段定义为:image,oracle中可以使用blob类型,MysqL中可以使用blob或者longblob等类型。
@Entity
@Table(name = "OBJ_PHOTO")
public class Photo extends DomainObject {
@Column(name = "photoName",nullable = false)
private StringphotoName;
@Column(name = "photoAddr",nullable = false)
private byte[]photoAddr; // 图片文件定义为byte[]
// get和set方法。。。。
}
Photophoto = newPhoto();
InputStream in = null;
if (StringUtils.isNotEmpty(formBean.getPhotoAddrFileName())) {
try {
byte buffer[] = new byte[(int)formBean.getPhotoAddr().length()];
in = new FileInputStream(formBean.getPhotoAddr());
in.read(buffer);
photo.setPhotoAddr(buffer);
} catch (FileNotFoundException e) {
e.printstacktrace();
} catch (IOException e) {
e.printstacktrace();
}
}
photo.setPhotoName(formBean.getPhotoName());
photoDao.save(photo);
3.1、首先在Action中定义一个InputStream对象:
private InputStream imagStream;
// get和set方法。。。
public String getPhoto(){
String id = request.getParameter("id");
Photo Photo= mapService.getMapById(id);
return "photoImag";
}
3.3、struts.xml文件配置:
<result name="photoImag" type="stream">
<param name="contentType">image/jpeg,image/bmp,image/png,image/gif,image/jpeg,image/pjpeg</param>
<param name="inputName">imagStream</param>
</result>
<img id="preview" src="photoAction!getPhoto.action?id=<s:property value='id'/>" /> // 此处传入该图片文件的ID,调用Action中的方法getPhoto即可在页面显示图片
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。