做webwork上传时,看到各种方式的都有,只好自己分析webwork提供的showcase和源码了,看过后总结如下:
上传到无所谓,关键时限制大小和格式,之前我在webwork.properties里配置webwork.multipart.maxSize,但不起作用(惭愧,但现在还不知道是那里的问题),况且这个属性只是在webwork上传文件完后判断的,看过源代码后,发现可以在代理中配置参数,来限制上传大小和格式,代码如下
- <interceptor-ref name="fileUpload">
- <param name="allowedTypes">
- application/msword,image/gif,image/jpeg,image/pjpeg,application/x-shockwave-flash
- param>
- <param name="maximumSize">10485760param>
- interceptor-ref>
注意:
1,我用image/jpeg只能上传jpeg格式的,jpg的就不行,于是加个image/pjpeg就好了
2,webwork默认大小为2M
见网上有另外一种方式,其实是一回事,代码如下:
xml 代码
- <interceptor-ref name="defaultStack">
- <param name="fileUpload.maximumSize">10485760param>
- interceptor-ref>
我们看webwork-default.xml就明白了:其中有配置如下:
- <interceptor-stack name="defaultStack">
- <interceptor-ref name="fileUpload"/>
- ..........
- interceptor-ref>
fileUpload就相当于defaultStack中的一个属性.就像ognl那样.
xml 代码