我正在使用框架3.2.3.RELEASE开发一个spring mvc应用程序
在我的应用程序中,我使用StandardServletMultipartResolver处理Multipart,但是使用apache commons-fileupload 1.3,事情是相同的.
我想知道为什么isMultipart方法的实现只考虑POST方法,而不考虑PUT方法.如果我想更新实体和相关文件,我必须使用POST.
查看org.springframework.web.multipart.support.Standard ServletMultipartResolver:
public boolean isMultipart(HttpServletRequest request) {
// Same check as in Commons FileUpload...
if (!"post".equals(request.getMethod().toLowerCase()) ) {
return false;
}
String contentType = request.getContentType();
return (contentType != null && contentType.toLowerCase().startsWith("multipart/"));
}
Run Code Online (Sandbox Code Playgroud)
而在org.apache.commons.fileupload.servlet.ServletFileU pload我有:
public static final boolean isMultipartContent(HttpServletRequest request) {
if (!POST_METHOD.equalsIgnoreCase(request.getMethod() )) {
return false;
}
return FileUploadBase.isMultipartContent(new ServletRequestContext(request));
}
Run Code Online (Sandbox Code Playgroud)
不是一件至关重要的事情,事实上只是使用PUT工作的POST方法.但我想承认为什么PUT不被考虑在内!
谢谢你回复Marco
spring multipartform-data spring-mvc apache-commons-fileupload