org.apache.commons.fileupload.servlet

## Class ServletFileUpload

- java.lang.Object
- - org.apache.commons.fileupload.FileUploadBase
  - - org.apache.commons.fileupload.FileUpload
    - - org.apache.commons.fileupload.servlet.ServletFileUpload

-     public class ServletFileUpload
      extends FileUpload

  High level API for processing file uploads.

  This class handles multiple files per single HTML widget, sent using `multipart/mixed` encoding type, as specified by RFC 1867. Use `parseRequest(HttpServletRequest)` to acquire a list of `FileItem`s associated with a given HTML widget.

  How the data for individual parts is stored is determined by the factory used to create them; a given part may be in memory, on disk, or somewhere else.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.commons.fileupload.FileUploadBase

      `FileUploadBase.FileSizeLimitExceededException, FileUploadBase.FileUploadIOException, FileUploadBase.InvalidContentTypeException, FileUploadBase.IOFileUploadException, FileUploadBase.SizeException, FileUploadBase.SizeLimitExceededException, FileUploadBase.UnknownSizeException`

  - ### Field Summary

    - ### Fields inherited from class org.apache.commons.fileupload.FileUploadBase

      `ATTACHMENT, CONTENT_DISPOSITION, CONTENT_LENGTH, CONTENT_TYPE, FORM_DATA, MAX_HEADER_SIZE, MULTIPART, MULTIPART_FORM_DATA, MULTIPART_MIXED`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ServletFileUpload()` Constructs an uninitialised instance of this class.
    `ServletFileUpload(FileItemFactory fileItemFactory)` Constructs an instance of this class which uses the supplied factory to create `FileItem` instances.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `FileItemIterator` | `getItemIterator(HttpServletRequest request)` Processes an RFC 1867 compliant `multipart/form-data` stream.
    `static boolean` | `isMultipartContent(HttpServletRequest request)` Utility method that determines whether the request contains multipart content.
    `Map<String,List<FileItem>>` | `parseParameterMap(HttpServletRequest request)` Processes an RFC 1867 compliant `multipart/form-data` stream.
    `List<FileItem>` | `parseRequest(HttpServletRequest request)` Processes an RFC 1867 compliant `multipart/form-data` stream.

    - ### Methods inherited from class org.apache.commons.fileupload.FileUpload

      `getFileItemFactory, setFileItemFactory`

    - ### Methods inherited from class org.apache.commons.fileupload.FileUploadBase

      `createItem, getBoundary, getFieldName, getFieldName, getFileName, getFileName, getFileSizeMax, getHeader, getHeaderEncoding, getItemIterator, getParsedHeaders, getProgressListener, getSizeMax, isMultipartContent, newFileItemHeaders, parseHeaders, parseParameterMap, parseRequest, setFileSizeMax, setHeaderEncoding, setProgressListener, setSizeMax`

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

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

- - ### Constructor Detail

    - #### ServletFileUpload

          public ServletFileUpload()

      Constructs an uninitialised instance of this class. A factory must be configured, using `setFileItemFactory()`, before attempting to parse requests.
      See Also:
        `FileUpload.FileUpload(FileItemFactory)`

    - #### ServletFileUpload

          public ServletFileUpload(FileItemFactory fileItemFactory)

      Constructs an instance of this class which uses the supplied factory to create `FileItem` instances.
      Parameters:
        `fileItemFactory` - The factory to use for creating file items.
      See Also:
        `FileUpload.FileUpload()`

  - ### Method Detail

    - #### isMultipartContent

          public static final boolean isMultipartContent(HttpServletRequest request)

      Utility method that determines whether the request contains multipart content.
      Parameters:
        `request` - The servlet request to be evaluated. Must be non-null.
      Returns:
        `true` if the request is multipart; `false` otherwise.

    - #### parseRequest

          public List<FileItem> parseRequest(HttpServletRequest request)
                                      throws FileUploadException

      Processes an RFC 1867 compliant `multipart/form-data` stream.
      Overrides:
        `parseRequest` in class `FileUploadBase`
      Parameters:
        `request` - The servlet request to be parsed.
      Returns:
        A list of `FileItem` instances parsed from the request, in the order that they were transmitted.
      Throws:
        `FileUploadException` - if there are problems reading/parsing the request or storing files.

    - #### parseParameterMap

          public Map<String,List<FileItem>> parseParameterMap(HttpServletRequest request)
                                                       throws FileUploadException

      Processes an RFC 1867 compliant `multipart/form-data` stream.
      Parameters:
        `request` - The servlet request to be parsed.
      Returns:
        A map of `FileItem` instances parsed from the request.
      Throws:
        `FileUploadException` - if there are problems reading/parsing the request or storing files.
      Since:
        1.3

    - #### getItemIterator

          public FileItemIterator getItemIterator(HttpServletRequest request)
                                           throws FileUploadException,
                                                  IOException

      Processes an RFC 1867 compliant `multipart/form-data` stream.
      Parameters:
        `request` - The servlet request to be parsed.
      Returns:
        An iterator to instances of `FileItemStream` parsed from the request, in the order that they were transmitted.
      Throws:
        `FileUploadException` - if there are problems reading/parsing the request or storing files.
        `IOException` - An I/O error occurred. This may be a network error while communicating with the client or a problem while storing the uploaded content.

Copyright © 2002–2019 The Apache Software Foundation. All rights reserved.