Seam中文件的上传(使用Apache-Common-FileUpload组件)
我在项目中处理文件上传时,遇到一个使用Common-FileUpload组件无法上传的问题,而其它普通的Web项目是好的。通过调试,发现seam中的request对象似乎不是Sevlet中那个最原始的request对象,因此fileupload组件在处理request中提交的文件时,总认为没有上传文件。
查了很多资料,最后发现是SeamFilter加载以后,默认会使MultipartFilter生效,这个MultipartFilter会对原始的request对象额外处理,从而导致问题。
解决办法是,在components.xml中增加下面一句:
<web:multipart-filter disabled="true"/>
最后问题解决,折腾了整整一个下午。