Class DiskFileItemFactory
- java.lang.Object
-
- org.apache.commons.fileupload.disk.DiskFileItemFactory
-
- All Implemented Interfaces:
FileItemFactory
- Direct Known Subclasses:
DefaultFileItemFactory
public class DiskFileItemFactory extends java.lang.Object implements FileItemFactory
The default
FileItemFactory
implementation. This implementation createsFileItem
instances which keep their content either in memory, for smaller items, or in a temporary file on disk, for larger items. The size threshold, above which content will be stored on disk, is configurable, as is the directory in which temporary files will be created.If not otherwise configured, the default configuration values are as follows:
- Size threshold is 10KB.
- Repository is the system default temp directory, as returned by
System.getProperty("java.io.tmpdir")
.
- Since:
- FileUpload 1.1
- Version:
- $Id: DiskFileItemFactory.java 155417 2005-02-26 13:00:27Z dirkv $
- Author:
- Martin Cooper
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_SIZE_THRESHOLD
The default threshold above which uploads will be stored on disk.private java.io.File
repository
The directory in which uploaded files will be stored, if stored on disk.private int
sizeThreshold
The threshold above which uploads will be stored on disk.
-
Constructor Summary
Constructors Constructor Description DiskFileItemFactory()
Constructs an unconfigured instance of this class.DiskFileItemFactory(int sizeThreshold, java.io.File repository)
Constructs a preconfigured instance of this class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FileItem
createItem(java.lang.String fieldName, java.lang.String contentType, boolean isFormField, java.lang.String fileName)
Create a newDiskFileItem
instance from the supplied parameters and the local factory configuration.java.io.File
getRepository()
Returns the directory used to temporarily store files that are larger than the configured size threshold.int
getSizeThreshold()
Returns the size threshold beyond which files are written directly to disk.void
setRepository(java.io.File repository)
Sets the directory used to temporarily store files that are larger than the configured size threshold.void
setSizeThreshold(int sizeThreshold)
Sets the size threshold beyond which files are written directly to disk.
-
-
-
Field Detail
-
DEFAULT_SIZE_THRESHOLD
public static final int DEFAULT_SIZE_THRESHOLD
The default threshold above which uploads will be stored on disk.- See Also:
- Constant Field Values
-
repository
private java.io.File repository
The directory in which uploaded files will be stored, if stored on disk.
-
sizeThreshold
private int sizeThreshold
The threshold above which uploads will be stored on disk.
-
-
Constructor Detail
-
DiskFileItemFactory
public DiskFileItemFactory()
Constructs an unconfigured instance of this class. The resulting factory may be configured by calling the appropriate setter methods.
-
DiskFileItemFactory
public DiskFileItemFactory(int sizeThreshold, java.io.File repository)
Constructs a preconfigured instance of this class.- Parameters:
sizeThreshold
- The threshold, in bytes, below which items will be retained in memory and above which they will be stored as a file.repository
- The data repository, which is the directory in which files will be created, should the item size exceed the threshold.
-
-
Method Detail
-
getRepository
public java.io.File getRepository()
Returns the directory used to temporarily store files that are larger than the configured size threshold.- Returns:
- The directory in which temporary files will be located.
- See Also:
setRepository(java.io.File)
-
setRepository
public void setRepository(java.io.File repository)
Sets the directory used to temporarily store files that are larger than the configured size threshold.- Parameters:
repository
- The directory in which temporary files will be located.- See Also:
getRepository()
-
getSizeThreshold
public int getSizeThreshold()
Returns the size threshold beyond which files are written directly to disk. The default value is 1024 bytes.- Returns:
- The size threshold, in bytes.
- See Also:
setSizeThreshold(int)
-
setSizeThreshold
public void setSizeThreshold(int sizeThreshold)
Sets the size threshold beyond which files are written directly to disk.- Parameters:
sizeThreshold
- The size threshold, in bytes.- See Also:
getSizeThreshold()
-
createItem
public FileItem createItem(java.lang.String fieldName, java.lang.String contentType, boolean isFormField, java.lang.String fileName)
Create a newDiskFileItem
instance from the supplied parameters and the local factory configuration.- Specified by:
createItem
in interfaceFileItemFactory
- Parameters:
fieldName
- The name of the form field.contentType
- The content type of the form field.isFormField
-true
if this is a plain form field;false
otherwise.fileName
- The name of the uploaded file, if any, as supplied by the browser or other client.- Returns:
- The newly created file item.
-
-