首页 > 代码库 > 【JAVAWEB学习笔记】29_文件的上传------commons-fileupload

【JAVAWEB学习笔记】29_文件的上传------commons-fileupload

今天内容:

文件的上传------commons-fileupload

 

文件上传和下载的实质:文件的拷贝

文件上传:从本地拷贝到服务器磁盘上   客户端需要编写文件上传表单---->服务端需要编写代码接受上传的 文件

文件下载:从服务器磁盘上拷贝到本地磁盘   需要编写服务端的代码,客户端的下载的工作浏览器内核解决的

 

一、文件上传

1、文件上传的步骤:

(1) 需要写一个文件上传表单

(2) 编写服务器端的代码用于接收上传的文件

 

2、客户端的编码

注意事项:

技术分享

 

3、服务端接受文件上传的表单数据

文件上传接收原理

技术分享

 

使用方便快捷的文件上传的工具---Apache Commons-fileupload.jar

 

使用步骤:

(1) 下载文件上传的jar包  fileuplaod   借助于 commons-io.jar

 技术分享

(2) 使用fileupload工具中的API进行编码

   

4、FileUpload工具中三个核心的对象

DiskFileItemFactory:磁盘文件项工厂--一些相关的配置的设置  缓存的大小 临时目录的位置

ServletFileUplaod:文件上传的一个核心类

FileItem:代表每一个表单项

 

5、快速入门

6、文件上传的API的详解

(1) DiskFileItemFactory

设置缓存大小:factory.setSizeThreshold() 单位是字节

设置临时文件的目录:factory.setRepository(File) 

 

(2) ServletFileUpload

判断是否是一个文件上传的表单:ServletFileUpload.isMultipartContent(request);

解析request获得表单项的集合:upload.parseRequest(request);

设置上传的文件名的编码方式:upload.setHeaderEncoding("UTF-8");

 

(3) FileItem

判断是否是普通表单项:item.isFormField();

获得表单的name属性值:item.getFieldName();

获得表单的value值:item.getString("UTF-8") --- UTF-8表示获得中文时的编码

获得上传文件的名称:item.getName()

获得上传文件:item.getInputStream();

删除临时文件:item.delete();

【JAVAWEB学习笔记】29_文件的上传------commons-fileupload