Struts2实现文件上传
1如何对上传进行封装
(1)struts2里面使用拦截器对上传进行封装(框架默认的方式)
(2)使用struts2框架方便实现文件上传
2 上传时候,上传表单页面有要求
第一个要求:表单提交方式 post
第二个要求:form标签里面有属性enctype属性值
修改为multipart/form-data
第三个要求:在表单里面有文件上传项,有name属性<input
type= “file”name=“”/>
3在action直接得到上传文件名称和上传文件
-在action定义成员变量,生成变量set和get方法
注意:文件名称就是下方表单的name值
4在具体的action的方法里面写上传逻辑
-在服务器里面创建文件
-把本地文件复制到服务器文件里面
5:问题:如果上传文件超过2M,出现异常
原因:Struts2在核心jar包中的配置文件default.properties文件中配置struts.multipart.maxSize=2097152k,可以手动修改文件上传大小
(1):在struts2.xml配置文件中修改文件上传大小
<!-- <constant name="struts.multipart.maxSize" value="2097152"></constant> -->
(2)页面中input处理
- input是struts2里面错误处理机制,如果上传文件超过设置的大小之后,自动返回结果,结果名称是
input
-
解决:配置input结果,到错误页面