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 アップロードを介して画像のサイズを制限する方法を教えてください。
リンクを確認しました