Struts2实现文件上传


1如何对上传进行封装
1struts2里面使用拦截器对上传进行封装(框架默认的方式)
2)使用struts2框架方便实现文件上传

2 上传时候,上传表单页面有要求
第一个要求:表单提交方式 post
第二个要求:form标签里面有属性enctype属性值 修改为multipart/form-data
第三个要求:在表单里面有文件上传项,有name属性<input type= filename=“”/>
Struts2实现文件上传
Struts2实现文件上传

3action直接得到上传文件名称和上传文件
-action定义成员变量,生成变量setget方法
Struts2实现文件上传
注意:文件名称就是下方表单的name值

Struts2实现文件上传
4在具体的action的方法里面写上传逻辑
-在服务器里面创建文件
-把本地文件复制到服务器文件里面

Struts2实现文件上传
5:问题:如果上传文件超过2M,出现异常
原因:Struts2在核心jar包中的配置文件default.properties文件中配置struts.multipart.maxSize=2097152k,可以手动修改文件上传大小

(1):在struts2.xml配置文件中修改文件上传大小
<!-- <constant name="struts.multipart.maxSize" value="2097152"></constant> -->
(2)页面中input处理
Struts2实现文件上传
- inputstruts2里面错误处理机制,如果上传文件超过设置的大小之后,自动返回结果,结果名称是 input
- 解决:配置input结果,到错误页面
Struts2实现文件上传