一、如何实现文件上传
实现 Web开发中的文件上传功能,通常需完成两步操作:一是在Web页面中添加上传输入项;二是在Servlet中读取上传文件的数据,并保存到本地硬盘中。
由于大多数文件的上传都是通过表单的形式提交给服务器的,因此,要想在程序中实现文件上传的功能,首先要创建一个用于提交上传文件的表单页面。在页面中,需要使用<input type="file">标签在Web页面中添加文件上传输入项。
<input type="file">标签的使用需要注意以下两点:
1.必须要设置input输入项的name 属性,否则浏览器将不会发送上传文件的数据。
2.必须将表单页面的method 属性设置为post方式,enctype属性设置为“multipa form-data”类型。
示例代码如下:
FileUpload组件实现文件上传的工作流程
文件上传的相关API
Fileltem接口
Fileltem 接口在 Commons-FileUpload 组件中被实现,其主要用于封装单个表单字段元素的数据,一个表单字段元素对应一个 Fileltem对象。Commons-FileUpload 组件在处理文件上传的过程中,将每一个表单域(包括普通的文本表单域和文件域)封装在一个 Fileltem 对象中。
为了便于讲解,在此将Fileltem接口的实现类称为Fileltem类,Fileltem类实现了Serializable接口,因此,支持序列化操作。在Fileltem类中定义了许多获取表单字段元素的方法,具体如下。
(1)boolean isFormField()方法
isFormField()方法用于判断 Fileltem类对象封装的数据是一个普通文本表单字段,还是一个文件表单字段,如果是普通文本表单字段,则返回true,否则返回false。
(2)String g