设为首页 收藏本站
查看: 569|回复: 0

[经验分享] java+mysql中保存图片及显示上传的图片struts+hibernate

[复制链接]
YunVN网友  发表于 2016-10-23 10:19:24 |阅读模式
早上用Java做了一下在Mysql中上传及显示图片的测试,struts+hibernate
jsp页面
<html:form action="/department.do?method=AddImage" enctype="multipart/form-data">
<table>
<tr>
<td>姓名</td>
<td>
<html:text property="name"></html:text>

</tr>
<tr>
<td>电话</td>
<td><html:text property="tel"></html:text></td>
</tr>
<tr><td>
<html:file property="image"></html:file>
</td></tr>
<tr><td colspan="2"><html:submit></html:submit></td></tr>
</table>
</html:form>

actionForm代码
public class DepartmentForm extends ActionForm {
/*
 * Generated fields
 */

/** tel property */
private String tel;

/** name property */
private String name;
private String id;
private FormFile image;
/*
 * Generated Methods
 */

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}



/** 
 * Method validate
 * @param mapping
 * @param request
 * @return ActionErrors
 */
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
return null;
}

/** 
 * Method reset
 * @param mapping
 * @param request
 * @throws UnsupportedEncodingException 
 */
public void reset(ActionMapping mapping, HttpServletRequest request) 

{
// TODO Auto-generated method stub
try
{
request.setCharacterEncoding("gb2312");
}
catch(Exception ex)
{

}
}

/** 
 * Returns the tel.
 * @return String
 */
public String getTel() {
return tel;
}

/** 
 * Set the tel.
 * @param tel The tel to set
 */
public void setTel(String tel) {
this.tel = tel;
}

/** 
 * Returns the name.
 * @return String
 */
public String getName() {
return name;
}

/** 
 * Set the name.
 * @param name The name to set
 */
public void setName(String name) {
this.name = name;
}

public FormFile getImage() {
return image;
}

public void setImage(FormFile image) {
this.image = image;
}
}

action中代码
public ActionForward AddImage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
try
{  //保存图片信息
DepartmentForm departmentform = (DepartmentForm)form;
Department department = new Department();
InputStream inputStream = departmentform.getImage().getInputStream();
department.setName(departmentform.getName());
department.setTel(departmentform.getTel());
department.setImage(Hibernate.createBlob(inputStream));
DepartmentDAO departmentDao = new DepartmentDAO();
departmentDao.save(department);
  //显示图片
Department department2 = (Department)departmentDao.findByProperty("id", department.getId()).get(0);
Blob imageblob = (Blob)department2.getImage() ;
InputStream input = imageblob.getBinaryStream();
byte [] image = new byte[input.available()];
ServletOutputStream out = response.getOutputStream();
int len = 0;
while((len=input.read(image))!=-1)
{
out.write(image,0,len);
}
out.flush();
out.close();
return null;
}
catch(Exception ex)
{
return null ;
}

 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-290150-1-1.html 上篇帖子: 正确使用MySQL JDBC setFetchSize()方法解决JDBC处理大结果集 java.lang.OutOfMemoryError: Java hea 下篇帖子: Mysql的强制索引(Force Index)都为我们做了哪些优化?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表