DefaultFileItemFactory.java
上传用户:u_thks
上传日期:2022-07-31
资源大小:1910k
文件大小:4k
源码类别:
WEB源码(ASP,PHP,...)
开发平台:
Java
- package com.gamvan.fileUpload;
- import java.io.File;
- public class DefaultFileItemFactory implements FileItemFactory
- {
- /**
- * The default threshold above which uploads will be stored on disk.
- */
- public static final int DEFAULT_SIZE_THRESHOLD = 10240;
- // ----------------------------------------------------- Instance Variables
- /**
- * The directory in which uploaded files will be stored, if stored on disk.
- */
- private File repository;
- /**
- * The threshold above which uploads will be stored on disk.
- */
- private int sizeThreshold = DEFAULT_SIZE_THRESHOLD;
- // ----------------------------------------------------------- Constructors
- /**
- * Constructs an unconfigured instance of this class. The resulting factory
- * may be configured by calling the appropriate setter methods.
- */
- public DefaultFileItemFactory(){ }
- /**
- * Constructs a preconfigured instance of this class.
- *
- * @param sizeThreshold The threshold, in bytes, below which items will be
- * retained in memory and above which they will be
- * stored as a file.
- * @param repository The data repository, which is the directory in
- * which files will be created, should the item size
- * exceed the threshold.
- */
- public DefaultFileItemFactory(int sizeThreshold, File repository)
- {
- this.sizeThreshold = sizeThreshold;
- this.repository = repository;
- }
- // ------------------------------------------------------------- Properties
- /**
- * Returns the directory used to temporarily store files that are larger
- * than the configured size threshold.
- *
- * @return The directory in which temporary files will be located.
- *
- * @see #setRepository(java.io.File)
- *
- */
- public File getRepository()
- {
- return repository;
- }
- /**
- * Sets the directory used to temporarily store files that are larger
- * than the configured size threshold.
- *
- * @param repository The directory in which temporary files will be located.
- *
- * @see #getRepository()
- *
- */
- public void setRepository(File repository)
- {
- this.repository = repository;
- }
- /**
- * Returns the size threshold beyond which files are written directly to
- * disk. The default value is 1024 bytes.
- *
- * @return The size threshold, in bytes.
- *
- * @see #setSizeThreshold(int)
- */
- public int getSizeThreshold()
- {
- return sizeThreshold;
- }
- /**
- * Sets the size threshold beyond which files are written directly to disk.
- *
- * @param sizeThreshold The size threshold, in bytes.
- *
- * @see #getSizeThreshold()
- *
- */
- public void setSizeThreshold(int sizeThreshold)
- {
- this.sizeThreshold = sizeThreshold;
- }
- // --------------------------------------------------------- Public Methods
- /**
- * Create a new {@link org.apache.commons.fileupload.DefaultFileItem}
- * instance from the supplied parameters and the local factory
- * configuration.
- *
- * @param fieldName The name of the form field.
- * @param contentType The content type of the form field.
- * @param isFormField <code>true</code> if this is a plain form field;
- * <code>false</code> otherwise.
- * @param fileName The name of the uploaded file, if any, as supplied
- * by the browser or other client.
- *
- * @return The newly created file item.
- */
- public FileItem createItem(String fieldName, String contentType, boolean isFormField, String fileName)
- {
- return new DefaultFileItem(fieldName, contentType,
- isFormField, fileName, sizeThreshold, repository);
- }
- }