struts2的文件上传
Posted 小鸭嘎嘎
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的文件上传的主要内容,如果未能解决你的问题,请参考以下文章