org.springframework.web.multipart.support

## Class StandardServletMultipartResolver

- java.lang.Object
- - org.springframework.web.multipart.support.StandardServletMultipartResolver

- All Implemented Interfaces:
    MultipartResolver

      public class StandardServletMultipartResolver
      extends Object
      implements MultipartResolver

  Standard implementation of the `MultipartResolver` interface, based on the Servlet 3.0 `Part` API. To be added as "multipartResolver" bean to a Spring DispatcherServlet context, without any extra configuration at the bean level (see below).

  Note: In order to use Servlet 3.0 based multipart parsing, you need to mark the affected servlet with a "multipart-config" section in `web.xml`, or with a `MultipartConfigElement` in programmatic servlet registration, or (in case of a custom servlet class) possibly with a `MultipartConfig` annotation on your servlet class. Configuration settings such as maximum sizes or storage locations need to be applied at that servlet registration level; Servlet 3.0 does not allow for them to be set at the MultipartResolver level.

  Since:
    3.1
  Author:
    Juergen Hoeller

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `StandardServletMultipartResolver()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `cleanupMultipart(MultipartHttpServletRequest request)` Cleanup any resources used for the multipart handling, like a storage for the uploaded files.
    `boolean` | `isMultipart(HttpServletRequest request)` Determine if the given request contains multipart content.
    `MultipartHttpServletRequest` | `resolveMultipart(HttpServletRequest request)` Parse the given HTTP request into multipart files and parameters, and wrap the request inside a `MultipartHttpServletRequest` object that provides access to file descriptors and makes contained parameters accessible via the standard ServletRequest methods.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StandardServletMultipartResolver

          public StandardServletMultipartResolver()

  - ### Method Detail

    - #### isMultipart

          public boolean isMultipart(HttpServletRequest request)

      Description copied from interface: `MultipartResolver`
      Determine if the given request contains multipart content.

      Will typically check for content type "multipart/form-data", but the actually accepted requests might depend on the capabilities of the resolver implementation.

      Specified by:
        `isMultipart` in interface `MultipartResolver`
      Parameters:
        `request` - the servlet request to be evaluated
      Returns:
        whether the request contains multipart content

    - #### resolveMultipart

          public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request)
                                                       throws MultipartException

      Description copied from interface: `MultipartResolver`
      Parse the given HTTP request into multipart files and parameters, and wrap the request inside a `MultipartHttpServletRequest` object that provides access to file descriptors and makes contained parameters accessible via the standard ServletRequest methods.
      Specified by:
        `resolveMultipart` in interface `MultipartResolver`
      Parameters:
        `request` - the servlet request to wrap (must be of a multipart content type)
      Returns:
        the wrapped servlet request
      Throws:
        `MultipartException` - if the servlet request is not multipart, or if implementation-specific problems are encountered (such as exceeding file size limits)
      See Also:
        `MultipartRequest.getFile(java.lang.String)`, `MultipartRequest.getFileNames()`, `MultipartRequest.getFileMap()`, `ServletRequest.getParameter(java.lang.String)`, `ServletRequest.getParameterNames()`, `ServletRequest.getParameterMap()`

    - #### cleanupMultipart

          public void cleanupMultipart(MultipartHttpServletRequest request)

      Description copied from interface: `MultipartResolver`
      Cleanup any resources used for the multipart handling, like a storage for the uploaded files.
      Specified by:
        `cleanupMultipart` in interface `MultipartResolver`
      Parameters:
        `request` - the request to cleanup resources for