DiskFileItemFactory
类:是创建FileItem
对象的工厂
常见的方法有:
public void setSizeThreshold(int sizeThreshold)
:设置缓存空间大小,默认值为10K,当上传文件大于缓冲区大小时,将作为临时文件缓存上传的文件。
public void setRepoitory(File repository)
:设置临时文件目录,默认值为java.io.tmpdir
。
ServletFileUpload
类:负责处理上传的文件,并将表单中每个输入项封装成一个FileItem对象中。
常用的方法有:
public static final boolean isMultipartContent(HttpServletRequest request)
:判断上传表单是否为multipart/form-data类型
public List<FileItem> parseRequest(HttpServletRequest request)
:解析request
对象,将表单中的每一个输入项包装成一个FileItem
对象,并返回一个保存了所有FileItem
的List
集合。
public void setHeaderEncoding(String encoding)
:设置文件名编码方式,防止下载时文件名出现乱码。
public void setFileSizeMax(long sizeMax)
:设置单个文件的最大大小。
boolean isFormField()
:判断FileItem
对象中封装的数据是一个普通文本表单字段,还是一个文件表单字段
Iterator<E> iterator()
:将列表转换成一个迭代器对象。
String getName()
:获取文件名。
long getSize()
: 获取文件大小,单位为字节(B)。
void write(File file)
:将FileItem对象中的内容保存到某个指定的文件中。
String getContentType()
:获得上传文件的类型。
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import javax.servlet.ServletConfig;
import<