## org.springframework.mock.web
Class MockMultipartHttpServletRequest

    java.lang.Object
      org.springframework.mock.web.MockHttpServletRequest
          org.springframework.mock.web.MockMultipartHttpServletRequest

All Implemented Interfaces:
  HttpServletRequest, ServletRequest, MultipartHttpServletRequest, MultipartRequest

    public class MockMultipartHttpServletRequest

extends MockHttpServletRequest
implements MultipartHttpServletRequest

Mock implementation of the `MultipartHttpServletRequest` interface.

Useful for testing application controllers that access multipart uploads. The `MockMultipartFile` can be used to populate these mock requests with files.

Since:
  2.0
Author:
  Juergen Hoeller, Eric Crampton, Arjen Poutsma
See Also:
  `MockMultipartFile`

Field Summary

Fields inherited from class org.springframework.mock.web.MockHttpServletRequest
`DEFAULT_PROTOCOL, DEFAULT_REMOTE_ADDR, DEFAULT_REMOTE_HOST, DEFAULT_SERVER_ADDR, DEFAULT_SERVER_NAME, DEFAULT_SERVER_PORT`

Fields inherited from interface javax.servlet.http.HttpServletRequest
`BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH`

Constructor Summary
`MockMultipartHttpServletRequest()`

Method Summary
`void` `addFile(MultipartFile file)` Add a file to this request.
`MultipartFile` `getFile(String name)` Return the contents plus description of an uploaded file in this request, or `null` if it does not exist.
`Map<String,MultipartFile>` `getFileMap()` Return a `Map` of the multipart files contained in this request.
`Iterator<String>` `getFileNames()` Return an `Iterator` of String objects containing the parameter names of the multipart files contained in this request.
`List<MultipartFile>` `getFiles(String name)` Return the contents plus description of uploaded files in this request, or an empty list if it does not exist.
`MultiValueMap<String,MultipartFile>` `getMultiFileMap()` Return a `MultiValueMap` of the multipart files contained in this request.

Methods inherited from class org.springframework.mock.web.MockHttpServletRequest

`addHeader, addParameter, addParameter, addParameters, addPreferredLocale, addUserRole, checkActive, clearAttributes, close, getAttribute, getAttributeNames, getAuthType, getCharacterEncoding, getContentLength, getContentType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getInputStream, getIntHeader, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getMethod, getParameter, getParameterMap, getParameterNames, getParameterValues, getPathInfo, getPathTranslated, getProtocol, getQueryString, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRemoteUser, getRequestDispatcher, getRequestedSessionId, getRequestURI, getRequestURL, getScheme, getServerName, getServerPort, getServletContext, getServletPath, getSession, getSession, getUserPrincipal, invalidate, isActive, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isSecure, isUserInRole, removeAllParameters, removeAttribute, removeParameter, setAttribute, setAuthType, setCharacterEncoding, setContent, setContentType, setContextPath, setCookies, setLocalAddr, setLocalName, setLocalPort, setMethod, setParameter, setParameter, setParameters, setPathInfo, setProtocol, setQueryString, setRemoteAddr, setRemoteHost, setRemotePort, setRemoteUser, setRequestedSessionId, setRequestedSessionIdFromCookie, setRequestedSessionIdFromURL, setRequestedSessionIdValid, setRequestURI, setScheme, setSecure, setServerName, setServerPort, setServletPath, setSession, setUserPrincipal`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface javax.servlet.http.HttpServletRequest

`getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole`

Methods inherited from interface javax.servlet.ServletRequest

`getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding`

Constructor Detail

### MockMultipartHttpServletRequest

    public MockMultipartHttpServletRequest()

Method Detail

### addFile

    public void addFile(MultipartFile file)

  Add a file to this request. The parameter name from the multipart form is taken from the `MultipartFile.getName()`.

  Parameters:
    `file` - multipart file to be added

### getFileNames

    public Iterator<String> getFileNames()

  Description copied from interface: `MultipartRequest`
  Return an `Iterator` of String objects containing the parameter names of the multipart files contained in this request. These are the field names of the form (like with normal parameters), not the original file names.

  Specified by:
    `getFileNames` in interface `MultipartRequest`
  Returns:
    the names of the files

### getFile

    public MultipartFile getFile(String name)

  Description copied from interface: `MultipartRequest`
  Return the contents plus description of an uploaded file in this request, or `null` if it does not exist.

  Specified by:
    `getFile` in interface `MultipartRequest`
  Parameters:
    `name` - a String specifying the parameter name of the multipart file
  Returns:
    the uploaded content in the form of a `MultipartFile` object

### getFiles

    public List<MultipartFile> getFiles(String name)

  Description copied from interface: `MultipartRequest`
  Return the contents plus description of uploaded files in this request, or an empty list if it does not exist.

  Specified by:
    `getFiles` in interface `MultipartRequest`
  Parameters:
    `name` - a String specifying the parameter name of the multipart file
  Returns:
    the uploaded content in the form of a `MultipartFile` list

### getFileMap

    public Map<String,MultipartFile> getFileMap()

  Description copied from interface: `MultipartRequest`
  Return a `Map` of the multipart files contained in this request.

  Specified by:
    `getFileMap` in interface `MultipartRequest`
  Returns:
    a map containing the parameter names as keys, and the `MultipartFile` objects as values

### getMultiFileMap

    public MultiValueMap<String,MultipartFile> getMultiFileMap()

  Description copied from interface: `MultipartRequest`
  Return a `MultiValueMap` of the multipart files contained in this request.

  Specified by:
    `getMultiFileMap` in interface `MultipartRequest`
  Returns:
    a map containing the parameter names as keys, and a list of `MultipartFile` objects as values