我有一个应用程序,可以使用MultiPartRequest
或DWR将文件上传到应用程序中。
我有以下配置。
Web.xml中
<servlet>
<servlet-name>nerp</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>fileUploadMaxBytes</param-name>
<param-value>5000</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>nerp</servlet-name>
<url-pattern>/nerp/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>nerp</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
NERP-servlet.xml中
<beans:bean id="multipartResolver"
class="com.resources.erp.util.ERPMultiPartResolver">
<!-- one of the properties available; the maximum file size in bytes -->
<beans:property name="maxUploadSize" value="100000"/>
</beans:bean>
ERPMultiPartResolver
public class ERPMultiPartResolver extends CommonsMultipartResolver {
@Override
public boolean isMultipart(final HttpServletRequest request) {
boolean isMultiPartBoolean = true;
final String urlFromBrowserWithAppName = String.valueOf(request.getRequestURI());
String urlFromBrowser = "";
if(urlFromBrowserWithAppName != null) {
urlFromBrowser = urlFromBrowserWithAppName.replaceAll(String.valueOf(request.getContextPath()),"");
}
if(urlFromBrowser.indexOf("dwr") > 0) {
isMultiPartBoolean = false;
}
else {
isMultiPartBoolean = super.isMultipart(request);
}
return isMultiPartBoolean;
}
}
我的MultiPartRequest
相关上传被限制为maxUploadSize
ERPMultiPartResolver
属性中指定的大小。但我无法限制DWR文件上传的大小。
我尝试在web.xml中使用param-name fileUploadMaxBytes
,但图像大小没有受到限制。
在项目中使用Spring 3.2.1和Dwr 3.0时,有人可以帮我解决如何通过DWR上传限制图像大小的问题吗?
我已查看链接
答案 0 :(得分:0)
上述问题的答案是,不是按照我上面的方式在web.xml中声明 fileUploadMaxBytes ,而是声明应该在您配置dwrContoller的地方。即。
<dwr:controller id="dwrController" debug="true" >
<dwr:config-param name="fileUploadMaxBytes" value="1048"/>
</dwr:controller>
现在有了这个帮助,我可以将图像大小限制为1048字节。
之前我的dwrController配置如下所示
<dwr:controller id="dwrController" debug="true" />