文件的上传和下载,是非常常见的功能。很多系统或软件中都经常 使用文件的上传和下载。
文件的上传
文件上传步骤如下:
- 要有一个form标签,method=post.
- form标签的encType属性值必须为multipart/form-data值。
- 在form标签中使用input,其中type=file,添加上传文件 。
- 编写服务器代码(Servlet程序)接收,处理上传的数据。
encType=multipart/form-data 表示提交的数据,以多段(每一个表单项一个数据段)的形式进行拼接,然后以二进制流的形式发送给服务器。
commons-fileupload.jar
实现文件上传,我们需要导入commons-fileupload.jar 包。邮因为commons-fileupload.jar 需要依赖 commons-io.jar 这个包,所以两个包我们都要引入。
第一步,就是需要导入两个jar包:
commons-fileupload-1.2.1.jar
commons-io-1.4.jar
commons-fileupload.jar 和 commons-io.jar 包中,我们常用的类有:
1. ServletFileUpload 类,用于解析上传的数据。
2. FileItem类,表示每一个表单项
3. boolean ServletFileUpload.isMultipartContent(HttpServletRequest request);--判断当前上传的数据格式是否是多段的格式。
4. public List<FileItem> parseRequest(HttpServletRequest request) //解析上传的数据
5. boolean FileItem.isFormField() //判断当前这个表单项,是否是普通的表单项。还是上传的文件类型。 true表示普通类型的表单项,false表示上传的文件类型。
6. String FileItem.getFieldName() //获取表单项的name属性值
7. String FileItem.getString() //获取当前表单项的值
8. String FileItem