Package org.apache.commons.fileupload

# Class FileUpload

java.lang.Object
org.apache.commons.fileupload.FileUploadBase
org.apache.commons.fileupload.FileUpload

Direct Known Subclasses:
  `PortletFileUpload`, `ServletFileUpload`

public class FileUpload extends FileUploadBase

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 `FileUploadBase.parseRequest(RequestContext)` to acquire a list of `FileItems` 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, DEFAULT_PART_HEADER_SIZE_MAX, FORM_DATA, MAX_HEADER_SIZE, MULTIPART, MULTIPART_FORM_DATA, MULTIPART_MIXED, MULTIPART_RELATED`

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `FileItemFactory`
  `getFileItemFactory()`
  Returns the factory class used when creating file items.
  `void`
  `setFileItemFactory(FileItemFactory fileItemFactory)`
  Sets the factory class to use when creating file items.

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

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

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

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

- ## Constructor Details

  - ### FileUpload

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

  - ### FileUpload

    public FileUpload(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()`

- ## Method Details

  - ### getFileItemFactory

    public FileItemFactory getFileItemFactory()
    Returns the factory class used when creating file items.
    Specified by:
      `getFileItemFactory` in class `FileUploadBase`
    Returns:
      The factory class for new file items.

  - ### setFileItemFactory

    public void setFileItemFactory(FileItemFactory fileItemFactory)
    Sets the factory class to use when creating file items.
    Specified by:
      `setFileItemFactory` in class `FileUploadBase`
    Parameters:
      `fileItemFactory` - The factory class for new file items.