spring mvc RestFul风格PUT方法修改上传文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014087707/article/details/78632580

使用spring mvc 过程中遇到了要使用put方法上传文件的操作.

  • 自定义文件上传解析器,添加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));
  }
}
  • java config 配置
  @Bean(name = "multipartResolver")
    public ExtendedMultipartResolver commonsMultipartResolver(){
        ExtendedMultipartResolver commonsMultipartResolver = new ExtendedMultipartResolver();
        commonsMultipartResolver.setDefaultEncoding("utf-8");
        commonsMultipartResolver.setMaxUploadSize(50000000);
        return commonsMultipartResolver;
    }

猜你喜欢

转载自blog.csdn.net/u014087707/article/details/78632580
今日推荐