日期:2014-05-16  浏览次数:20833 次

使用Apache文件上传组件

使用Apache文件上传组件的主要步骤:

(1)?????? 确定上传的文件的存放路径,调用:

getServletContext().getRealPath("/path");

path可以是不存在地目录,用上述函数获得其真实路径后再调用File类的mkdir()方法创建目录。

(2)?????? 使用DiskFileItemFactory类的实例对象

1.调用:setSizeThresholdint sizeThreshold方法设置是否使用临时文件夹及使用的临界值(即超过sizeThreshold时使用)。

2.调用:setRepositoryString path方法设置临时文件的存放目录。

(3)?????? 使用ServletFileUpload类的实例对象

1.调用:setSizeMaxlong sizeMax方法设置请求消息实体内容的最大允许值。

2.调用:setHeaderEncodingString??? encoding方法设置上传的普通字段的名称和文件字段的文件名所使用的字符集编码。

3.调用:paseRequestHttpServletRequest req方法解析得到所有表单字段的对象的集合(List类)。

4? ? 使用FileItem类,逐个取出上一步骤解析出的每个表单字段,转换为

?????? ? FileItem类型。

1.调用isFormField()方法判断FileItem对象封装的是一个普通表单字段还是文件表单字段。

???????? 2.处理普通表单字段,可以调用getStringString? encoding返回指定编码的FileItem对象的主体内容。

???????? 3.可以调用getFieldName()返回表单字段元素的name属性值。

???????? 4.处理文件字段,可以调用getName()方法返回文件名。

???????? 5.调用