# Package org.apache.commons.fileupload.disk

package org.apache.commons.fileupload.disk

A disk-based implementation of the `FileItem` interface. This implementation retains smaller items in memory, while writing larger ones to disk. The threshold between these two is configurable, as is the location of files that are written to disk.

In typical usage, an instance of `DiskFileItemFactory` would be created, configured, and then passed to a `FileUpload` implementation such as `ServletFileUpload` or `PortletFileUpload`.

The following code fragment demonstrates this usage.

            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);

Please see the FileUpload User Guide for further details and examples of how to use this package.

- Related Packages
  Package
  Description
  org.apache.commons.fileupload
  A component for handling HTML file uploads as specified by RFC 1867.
  org.apache.commons.fileupload.portlet
  An implementation of `FileUpload` for use in portlets conforming to JSR 168.
  org.apache.commons.fileupload.servlet
  An implementation of `FileUpload` for use in servlets conforming to JSR 53.
  org.apache.commons.fileupload.util
  This package contains various IO related utility classes or methods, which are basically reusable and not necessarily restricted to the scope of a file upload.
- Classes
  Class
  Description
  DiskFileItem
  The default implementation of the `FileItem` interface.
  DiskFileItemFactory
  The default `FileItemFactory` implementation.