1

我在jsp上有一个表单,它有两个文件输入,一个用于上传配置文件图片,另一个用于上传PDF文件。如何在Struts2中上传两个不同的文件并验证它们的类型和大小?

我想验证

  • 图像输入应该只接受jpeg或png格式,其大小不得超过200KB。
  • PDF输入只能为PDF格式,大小不能超过2MB。

如何在同一表单中对不同的文件进行不同的验证?

+0

是否是文件扩展名或内容? –

回答

0

文件限制与请求相关。如果你需要应用两种不同的设置,你需要两种不同的请求(因此有两种形式),这显然不是想要的解决方案。在struts.xmlstruts.xml文件类型

  • (图像类型,PDF)
  • 大小不超过2MB
  • 在行动(两高):

    然后你就可以很容易地通过应用克服这个validate(),或在XML验证中,或在注释验证中,像
    这样的控件“如果文件的类型为图像和大小> 200KB,则引发错误”。


编辑

通过我写我自己的拦截器所采取的方式。

当然,如果您必须将此逻辑应用于许多操作,那么自定义拦截器可以帮助您干。

只要确保你已经理解了验证是如何工作的,并且在你的拦截器内添加了字段错误以防止它失败,那么the INPUT result will be automatically returned by the Worflow Interceptor

+0

谢谢Andreaa ...我知道我可以写我的自定义业务逻辑来验证他们..但我想如果以某种方式fileupload拦截器可以做到这一点。 –

+0

顺便说一下,我通过编写我自己的拦截器来完成它。 –

相关问题