码迷,mamicode.com
首页 > Web开发 > 详细

Struts上传文件总结

时间:2016-01-16 23:53:49      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:

一.上传文件过程(以上传头像为例)

1.头像文件通过jsp的表单提交到add.action进行处理

  注意 1)表单的enctype属性设置为multipart/form-data

     2)上传方式为post方法

<form id="form" name="form" action="${basePath}nsfw/user_add.action" method="post" enctype="multipart/form-data">

<input type="file" name="headImg"/>

 

2.add.action接收到上传来的file对象,用JSP中input表单的name属性值headImg封装文件内容,headImgContentType封装文件类型

headImgFileName封装文件名称,由于是Struts2自动帮我们封装。所以如果jsp中input表单的name属性值为X,那么对应其他两个就必须

为XContentType和XFileName.

private File headImg;

private String headImgContentType;

private String headImgFileName;

 

3.由于提交过来的file会在add()方法执行完后,自动被删除掉。我们要把它复制到一个指定的我们指定的文件WebRoot的upload/user下。

 1)获取指定文件路径

 String filePath=ServletActionContext.getServletContext.getRealPath();

 2)用UUID+headImgFileName防止文件因重复而被覆盖

 String fileName=UUID.randomUUID().toString() + headImgFileName+headImgContentType;

 3)用FileUtil把临时文件复制到指定文件下(new File(目录,目录/文件))

 FileUtil.copyFile(headImg,new File(filePath,fileName));

 

4.将文件名称封装到User中,并保存进数据库.

 1)user.setHeadImg("user/" + fileName);

 2) service.save(user);

 

5.查出现在数据库中所有数据,用jsp呈现在列表页面上

 

  以上是我自学过程中,做SSH项目练习时,对Struts2上传文件的总结,如有纰漏,望各位前辈指出,敝人将不胜感激。

 

Struts上传文件总结

标签:

原文地址:http://www.cnblogs.com/DaCheng91/p/5136600.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!