我在jsp上有一个表单,它有两个文件输入,一个用于上传配置文件图片,另一个用于上传PDF文件。如何在Struts2中上传两个不同的文件并验证它们的类型和大小?
我想验证
- 图像输入应该只接受jpeg或png格式,其大小不得超过200KB。
- PDF输入只能为PDF格式,大小不能超过2MB。
如何在同一表单中对不同的文件进行不同的验证?
我在jsp上有一个表单,它有两个文件输入,一个用于上传配置文件图片,另一个用于上传PDF文件。如何在Struts2中上传两个不同的文件并验证它们的类型和大小?
我想验证
如何在同一表单中对不同的文件进行不同的验证?
文件限制与请求相关。如果你需要应用两种不同的设置,你需要两种不同的请求(因此有两种形式),这显然不是想要的解决方案。在struts.xml
在struts.xml
文件类型
然后你就可以很容易地通过应用克服这个validate()
,或在XML验证中,或在注释验证中,像
这样的控件“如果文件的类型为图像和大小> 200KB,则引发错误”。
编辑:
通过我写我自己的拦截器所采取的方式。
当然,如果您必须将此逻辑应用于许多操作,那么自定义拦截器可以帮助您干。
只要确保你已经理解了验证是如何工作的,并且在你的拦截器内添加了字段错误以防止它失败,那么the INPUT result will be automatically returned by the Worflow Interceptor。
谢谢Andreaa ...我知道我可以写我的自定义业务逻辑来验证他们..但我想如果以某种方式fileupload拦截器可以做到这一点。 –
顺便说一下,我通过编写我自己的拦截器来完成它。 –
是否是文件扩展名或内容? –