更改输入名称以小写字母开头:
<input type="file" name="image">
然后在“操作”中,您需要将File变量的名称添加到contentType和FileName字符串的前面,如下所示:
private File image;
private String imageContentType;
private String imageFileName;/ GETTERS AND SETTERS FOR ALL OF THEM /
您可能还对如何配置单个文件(以及整个请求)的最大大小,仅允许某种文件上传或一次上传多个文件感兴趣。
编辑
您没有发布struts.xml和web.xml配置,但是发布了stacktrace的行
在org.apache.struts2.dispatcher中。 FilterDispatcher
.doFilter(FilterDispatcher.java:395)
提示您使用了错误的Filter。
同样,文件上传拦截器似乎配置为运行两次…,这通常是在配置错误方式时发生的,例如
<!-- WRONG --><interceptor-ref name="fileUpload"> <param name="maximumSize">2097152</param> <param name="allowedTypes"> image/png,image/gif,image/jpeg,image/pjpeg </param> </interceptor-ref><interceptor-ref name="defaultStack" />
代替
<!-- RIGHT --><interceptor-ref name="defaultStack"> <param name="fileUpload.maximumSize">2097152</param> <param name="fileUpload.allowedTypes"> image/png,image/gif,image/jpeg,image/pjpeg </param> </interceptor-ref>
再次,仔细检查web.xml和struts.xml中的配置,它将自动运行。



