Struts2本身提供了一个文件上传的拦截器,通过配置该拦截器可以更轻松地实现文件过滤。我们只需要在Action中配置该拦截器就可以了。当文件过滤失败后,会自动转向input逻辑视图,因此必须为该Action配置名为input的逻辑视图,除此之外还必须为配置defaultStack的拦截器的引用。配置文件如下:
image/bmp,image/gif,image/jpg
2000000
/
如果上传失败系统会返回到原来的页面,要在原来的页面上加上以下错误提示代码:
struts.messages.error.file.too.large
struts.messages.error.content.type.not.allowed
此外,如果用户上传失败的原因不是因为以上两种还有另外的一个信息提示用户,它的关健字是:struts.messages.error.uploading,我们也应该替换这个提示信息。
其它说明:如果没有指定临时的保存文件夹,系统就会使用javax.servlet.context.tempdir路径,这个路径是Tomcat的work\Catalina\localhost\,我们应该设置自己的路径,这个配置的属性为struts.multipart.saveDir可以在struts.properties中配置,还有一个文件上传的属性:struts.multipart.maxSize设置整个表单请求内容的最大字节数。
你要在struts.xml文件中进行相应的配置才行。