首页 > 代码库 > struts2的文件上传

struts2的文件上传

1、需要jar包的支持: commosn-fileupload.jar; commons-io.jar; commons-logging.jar;

commons-logging.jar 日志包; 主要是 commosn-fileupload有例子依赖关系;
commons-io.jar io流读取写入;
commosn-fileupload.jar 文件上传的jar包;

2、会用到struts2自带的fileupload拦截器;
该拦截器定义了上传文件的 格式, 大小等;


开发步骤:
1、创建web系统, 并导入struts2需要的jar包;
2、在src下创建struts.xml, 并在web.xml文件中配置struts的过滤器;

3、编写jsp,form表单必须是post提交,并且需定义enctype属性;
<form action="" method="post" enctype="multipart/form-data"></form>
get提交不能做文件上传;

4、编写action控制层代码,获取上传的文件;
5、测试,看jsp传递的数据能否到达action业务方法,能否获取到file文件,filename文件名称等信息;
如果能正常获取,开始使用io读取file,写入到新文件中。

6、两个file之间的 copy(先读取,然后写入);


struts2默认的上传文件的大小有限制
struts.multipart.maxSize=2097152 === 2M
也就是说, struts默认只能上传小于2M以内的文件;

可以使用fileupload拦截器来过滤文件的 格式;
<interceptor-ref name="fileUpload">
<param name="allowedTypes">image/bmp,image/png,image/gif,image/jpeg</param>
</interceptor-ref>


客戶端

服務器端

开发环境

发布环境

 

struts2的文件上传