See: Description
| Interface | Description | 
|---|---|
| FileItem |  This class represents a file or form item that was received within a
  multipart/form-dataPOST request. | 
| FileItemFactory | A factory interface for creating  FileIteminstances. | 
| FileItemHeaders |  This class provides support for accessing the headers for a file or form
 item that was received within a  multipart/form-dataPOST
 request. | 
| FileItemHeadersSupport | Interface that will indicate that  FileItemorFileItemStreamimplementations will accept the headers read for the item. | 
| FileItemIterator | An iterator, as returned by
  FileUploadBase.getItemIterator(RequestContext). | 
| FileItemStream |  This interface provides access to a file or form item that was
 received within a  multipart/form-dataPOST request. | 
| ProgressListener | The  ProgressListenermay be used to display a progress bar
 or do stuff like that. | 
| RequestContext | Abstracts access to the request information needed for file uploads. | 
| UploadContext | Enhanced access to the request information needed for file uploads,
 which fixes the Content Length data access in  RequestContext. | 
| Class | Description | 
|---|---|
| ByteArrayOutputStream | This class implements an output stream in which the data is
 written into a byte array. | 
| DeferredFileOutputStream | An output stream which will retain data in memory until a specified
 threshold is reached, and only then commit it to disk. | 
| FileUpload | High level API for processing file uploads. | 
| FileUploadBase | High level API for processing file uploads. | 
| FileUtils | General file manipulation utilities. | 
| IOUtils | General IO stream manipulation utilities. | 
| MultipartStream |  Low level API for processing file uploads. | 
| MultipartStream.ProgressNotifier | Internal class, which is used to invoke the
  ProgressListener. | 
| ParameterParser | A simple parser intended to parse sequences of name/value pairs. | 
| ThresholdingOutputStream | An output stream which triggers an event when a specified number of bytes of
 data have been written to it. | 
| Exception | Description | 
|---|---|
| FileItemStream.ItemSkippedException | This exception is thrown, if an attempt is made to read
 data from the  InputStream, which has been returned
 byFileItemStream.openStream(), afterIterator.hasNext()has been invoked on the
 iterator, which created theFileItemStream. | 
| FileUploadException | Exception for errors encountered while processing the request. | 
| InvalidFileNameException | This exception is thrown in case of an invalid file name. | 
| MultipartStream.IllegalBoundaryException | Thrown upon attempt of setting an invalid boundary token. | 
| MultipartStream.MalformedStreamException | Thrown to indicate that the input stream fails to follow the
 required syntax. | 
NOTE: This code has been copied from commons-fileupload trunk 1.3 and commons-io 1.4 and package renamed to avoid clashes with any web apps that may wish to use these libraries.
A component for handling HTML file uploads as specified by RFC 1867. This component provides support for uploads within both servlets (JSR 53) and portlets (JSR 168).
 While this package provides the generic functionality for file uploads,
 these classes are not typically used directly. Instead, normal usage
 involves one of the provided extensions of
 FileUpload such as
 ServletFileUpload
 together with a factory for
 FileItem instances,
 such as
 DiskFileItemFactory.
 
The following is a brief example of typical usage in a servlet, storing the uploaded files on disk.
public void doPost(HttpServletRequest req, HttpServletResponse res) {
   DiskFileItemFactory factory = new DiskFileItemFactory();
   // maximum size that will be stored in memory
   factory.setSizeThreshold(4096);
   // the location for saving data that is larger than getSizeThreshold()
   factory.setRepository(new File("/tmp"));
   ServletFileUpload upload = new ServletFileUpload(factory);
   // maximum size before a FileUploadException will be thrown
   upload.setSizeMax(1000000);
   List fileItems = upload.parseRequest(req);
   // assume we know there are two files. The first file is a small
   // text file, the second is unknown and is written to a file on
   // the server
   Iterator i = fileItems.iterator();
   String comment = ((FileItem)i.next()).getString();
   FileItem fi = (FileItem)i.next();
   // file name on the client
   String fileName = fi.getName();
   // save comment and file name to database
   ...
   // write the file
   fi.write(new File("/www/uploads/", fileName));
 }
 
 
 In the example above, the first file is loaded into memory as a
 String. Before calling the getString method,
 the data may have been in memory or on disk depending on its size. The
 second file we assume it will be large and therefore never explicitly
 load it into memory, though if it is less than 4096 bytes it will be
 in memory before it is written to its final location. When writing to
 the final location, if the data is larger than the threshold, an attempt
 is made to rename the temporary file to the given location.  If it cannot
 be renamed, it is streamed to the new location.
 
Please see the FileUpload User Guide for further details and examples of how to use this package.
Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.