Struts2 文件上传控制:限制类型与大小
需积分: 9 9 浏览量
更新于2024-08-18
收藏 265KB PPT 举报
本文主要介绍了如何在Struts2框架中对文件上传进行控制,包括限制文件类型和大小,以及单文件上传的实现步骤。
在Struts2中,文件上传是通过拦截器(Interceptor)来实现的。在描述中提到的配置部分,我们可以看到一个名为"userload"的Action配置,它引用了名为"fileUpload"的拦截器,并设置了两个参数:"allowedTypes"用于指定允许上传的文件类型,这里是"image/pjpeg",即JPEG图片;"maximumSize"则是限制上传文件的最大大小,这里是1024000000字节,即100MB。同时,这个Action还引用了默认的拦截器栈"defautStack",确保了整个请求处理流程的正常进行。如果上传失败,结果会被定向到"/upload.jsp",成功则跳转到"/ok.jsp"。
文件上传的原理通常是用户通过表单提交包含二进制数据的文件,表单的`enctype`属性必须设置为"multipart/form-data"。在Struts2中,可以使用`<s:form>`标签和`<s:file>`标签来创建这样的表单,例如:
```html
<s:form action="userload!geta.action" method="post" enctype="multipart/form-data">
<table border="1" align="center">
<s:file name="doc" label="相片"></s:file>
<s:submit value="确定" align="center"></s:submit>
</table>
</s:form>
```
在Action类中,我们需要定义对应的字段来接收上传的文件。对于单文件上传,通常会有一个`File`类型的字段(如`doc`)和一个`String`类型的字段(如`docFileName`)来保存文件内容和原始文件名。在处理上传的Action方法中,首先获取上传文件的保存路径,然后创建一个新的文件名,接着使用`FileUtils.copyFile()`方法将上传的临时文件复制到目标位置。
为了实现对文件类型的控制,Struts2提供了`allowedTypes`参数,这里配置为"image/pjpeg",意味着只有JPEG图片能被上传。对于文件大小的控制,`maximumSize`参数用来限制上传文件的大小,超过该限制的文件将被拦截并返回错误。
Struts2提供了方便的文件上传功能,可以通过配置拦截器来设定上传的规则,同时在Action中处理文件的保存逻辑,确保了上传过程的安全性和可控性。在实际应用中,根据需求可以灵活调整这些配置,以满足不同场景下的文件上传需求。
2008-05-16 上传
2012-10-16 上传
2015-12-14 上传
2021-03-23 上传
2021-07-11 上传
2008-09-15 上传
2013-07-26 上传
2020-12-22 上传
2015-10-24 上传
李禾子呀
- 粉丝: 26
- 资源: 2万+
最新资源
- uCOS-II中文版电子书
- 网络工程原理与实践教程各章考点
- Keil与proteus完美结合教程.pdf
- Modeling our World (单PDF、珍藏中文版)
- 限位数理论与运算器设计
- 动态计算机核心PMC362成功设计
- NXP LPC2478 MiniARM2478-S核心板 原理图
- HTML初学者入门,很简单
- HTML、CSS、JavaScript标签参考.pdf
- verlog 学习教程
- C#基础图书适合刚入门学习者
- RHEL5上用LVS和heartbeat实现squid反向代理的高可用性.pdf
- 大学生电路组装与调试竞赛试题
- PostgreSQL数据库的基本使用
- ArcGIS flex RIA开发实践 背景篇
- PostGIS系列教程