struts之文件上传
来源:互联网 发布:淘宝店客服怎样设置 编辑:程序博客网 时间:2024/06/05 05:48
fileUpload拦截器
Struts2的文件上传其实也是通过拦截器来实现的,只是该拦截器定义为默认拦截器了,所以不用手工配置。
<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>
该拦截器为commons-fileUpload,它会查看当前请求是否enctype=“multipart/form-data ”,如果不是则放行。如果是,则解析表单,然后把解析的结果传递给Action的属性。
一、单文件上传
fileUpload拦截器要求Action需要提供3个属性:
File fieldName
String fieldNameContentType;
String fieldNameFileName;
1.form表单中必须要有enctype=“multipart/form-data ”
<form action="/UploadAction.action>" method="post" enctype="multipart/form-data"><input type="file" name="image"/></form>
2.Action中必须要有3个属性,并且前缀都必须与文件表单项名称一致
class MyAction { private File image;//封装上传文件的数据 private String imageFileName;//封装上传文件的名称 private String imageContentType;//封装上传文件的MIME类型}简记:1:3 表单中一个属性对应Action中三个属性
二、多文件上传
在表单中设置所有<input type=”file”>的名称为相同名称,然后在Action中给出数组属性即可。
<form action="/UploadsAction.action" method="post" enctype="multipart/form-data">用户名: <input type="text" name="username"/><br/>文 件1:<input type="file" name="myUpload"/><br/>文 件2:<input type="file" name="myUpload"/><br/>文 件3:<input type="file" name="myUpload"/><br/><input type="submit" value="Submit"/></form>
public class UploadsAction extends ActionSupport {private File[] myUpload;private String[] myUploadContentType;private String[] myUploadFileName;}
上传配置
可以通过Struts2的常量来完成对上传的配置,下面是与上传相关的常量:
struts.multipart.parser:指定使用的上传组件,默认值为jakarta,表示使用commons-fileupload组件,Struts2还支持cos和pell;
struts.multipart.saveDir:临时目录,如果没有指定临时目录,那么临时文件会在Tomcat的work目录中;
struts.multipart.maxSize:整个大小限制,默认值为2097152,即2M。注意,这个限制是整个请求的大小,而不是单一文件的大小。
<struts><constant name="struts.devMode" value="true" /><!--请求总大小上限 --><constant name="struts.multipart.maxSize" value="1048576" /><package name="s8" namespace="/" extends="struts-default"><action name="UploadAction" class="cn.itcast.upload.action.UploadAction"><result name="input">/demo1/upload.jsp</result><param name="savepath">/WEB-INF/uploads</param><!-- 指定当前action的拦截器为defaultStack栈,对fileUpload拦截器进行了参数配置。 --><interceptor-ref name="defaultStack"><!-- 限制单个文件大小上限为512K --><param name="fileUpload.maximumSize">524288[单个文件大小上限为512K]</param><!-- 限制上传文件的类型 --><param name="fileUpload.allowedExtensions">jpg,png,bmp</param></interceptor-ref></action></package></struts>
class MyAction { private File image;//封装上传文件的数据 private String imageFileName;//封装的是上传文件的名称 private String imageContentType;//封装的是上传文件的MIME类型}如上:Action中的3个属性前缀与表单中的name的值一致。(1:3)
- struts之上传文件
- struts之文件上传
- Struts之文件上传
- struts之文件上传
- Struts 1 之文件上传
- Struts 1 之文件上传
- Struts 2 之文件上传
- Struts 2 之文件上传
- j2ee之struts上传文件小经验
- Struts框架之文件的上传
- SSH框架之Struts的文件上传
- javaWeb之struts四---文件上传篇
- Struts的文件上传
- struts文件上传要点
- Struts的文件上传
- struts文件上传要点
- Struts的文件上传
- Struts的文件上传
- Moravec检测器
- 在hibernate中save() saveOrUpdate() update() meger方法的讲解
- 如何在tomcat里面编辑一个简单的xml
- hibernate学习笔记(四)
- 《编写高质量代码:改善Java程序的151个建议》读书笔记二:基本类型
- struts之文件上传
- cocos2dx中Action汇总
- 【Android】MediaPlayer使用方法简单介绍
- vc MFC 发邮件代码 努力后成功了
- 【求助】sed的使用
- 动态链接DLL与静态链接LIB, 显示以及隐式调用方式,同时用DUMPBIN 进行重定向输出DLL的文件信息
- 基于HEVC 的UHD(超高清 4K)视频的主观质量评价
- 在史蒂夫传中寻找现实扭曲力场1
- [转载]shell sed用法与功能大全