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

Posted kent

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

javaweb VUE+ElementUI 文件上传 后端部分

JavaWeb_文件上传/下载篇

JavaWeb_文件上传/下载篇

JAVAWEB学习笔记11_XML&反射

JAVAWEB学习笔记25_基础加强:类加载器注解 @xxx和动态代理

javaweb学习笔记_通讯录小程序实现