当前位置:网站首页>项目笔记——随记

项目笔记——随记

2022-08-11 05:32:00 kerodaisuki

文件上传三要素

1.表单提交方法:POST(get方式提交有大小限制,post没有)

2.表单的enctype属性:必须设置为multipart/form-data

        enctype就是encodetype就是编码类型的意思

        multipart/form-data是多部件文件上传 , 指表单数据由多部分构成,既有文本数据,又有文 件等二进制数据的意思

3.表单必须有文件上传项:file ,必须要有name属性和值

注意: 默认情况下,表单的enctype的值是application/x-www-form-urlencoded,不能用于文件 上传,只有使用了multipart/form-data,才能完整的传递文件数据

服务端获上传的文件

1.通过request获取请求体的内容

2.解析请求体,多部件上传的特点是,每个input都是一个表单项。

根据分隔符将请求中所有的内容切割成数组,数组中的每一个元素都是一个表单项

3.遍历数组,根据filename 来判断哪个是普通的表单,哪个是文件上传项

4.获取到普通表单项中的内容,通过属性name获取

5.获取文件上传项内容

文件名

文件内容

6.使用IO将文件内容保存到服务器中

FileUpload工具类

1.导入依赖

FileUpload包可以很容易地将文件上传到Web应用程序

IOUtils封装了java中常见操作,使用十分方便

2. FileUpload 核心类介绍

DiskFileItemFactory:磁盘文件项工厂,读取文件时相关的配置,比如:缓存的大小,临时目录的位置

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

FileItem:代表每一个表单项

3. 文件上传的API的详解

ServletFileUpload

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

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

setHeaderEncoding("utf-8") :设置上传的文件名的编码格式

FileItem

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

getFiledName():获得表单的name属性

item.getString(): 获得表单的value值

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

getInputStream() :获得上传文件

delete() : 删除临时文件

4.文件上传后台代码编写

FileUpload使用步骤:

1.创建磁盘文件项工厂

2.创建文件上传的核心类

3.解析request——获得文件项集合

4.遍历文件项集合

5.判断普通表单项/文件上传项

原网站

版权声明
本文为[kerodaisuki]所创,转载请带上原文链接,感谢
https://blog.csdn.net/chaochaodayizhi/article/details/125071765