使用spring mvc 过程中遇到了要使用put方法上传文件的操作.
public class ExtendedMultipartResolver extends CommonsMultipartResolver {
@Override
public boolean isMultipart(HttpServletRequest request) {
return (request != null && isMultipartContent(request));
}
/**
* Extends ServletFileUpload.isMultipartContent() behavior to allow PUT requests as multipart.
*
* @param request
* The servlet request to be evaluated. Must be non-null.
*
* @return <code>true</code> if the request is multipart; <code>false</code> otherwise.
* @see org.apache.commons.fileupload.servlet.ServletFileUpload#isMultipartContent
*/
public static final boolean isMultipartContent(HttpServletRequest request) {
HttpMethod httpMethod = HttpMethod.valueOf(request.getMethod());
if (HttpMethod.POST != httpMethod && HttpMethod.PUT != httpMethod) {
return false;
}
return FileUploadBase.isMultipartContent(new ServletRequestContext(request));
}
}
@Bean(name = "multipartResolver")
public ExtendedMultipartResolver commonsMultipartResolver(){
ExtendedMultipartResolver commonsMultipartResolver = new ExtendedMultipartResolver();
commonsMultipartResolver.setDefaultEncoding("utf-8");
commonsMultipartResolver.setMaxUploadSize(50000000);
return commonsMultipartResolver;
}