您的位置:首页 > 其它

文件上传介绍:

2016-06-19 23:33 225 查看

1.0 什么是文件上传:

将客户端数据以文件形式封装,通过网络协议发送到服务器端。
在服务器端解析数据,最终在服务端硬盘上作为真实的文件保存


2.0 在客户端,如何将一个文件类型的数据发送到服务器端:

1.条件1,要求浏览器选择的发送方式必须是【post】
2.条件2,必须至少拥有一个file类型表单域控件
<input type='file'> (1)浏览用户机器中文件系统
(2)作为请求参数,关联文件类型的数据
3.条件3 采用网络协议不能是http协议
采用http协议升级版本RFC-1867协议


3.0 服务器端如何解析数据:

1.request: request只能解析读取http协议中的请求参数数据
无法解析RFC-1867协议中数据

2.FileUpload.jar :apache提供商业应用jar,专门解析RFC-1867协议中数据.


4.0 FileUpload.jar解析数据,生成文件的流程:

1.【数据解析工具类】 将 RFC-1867协议中包裹的每一个请求参数及其内容解析生成【临时文件 xxx.temp】
2.【磁盘工厂工具类】负责解析生成临时文件保存到服务器中指定硬盘位置 tomcat/temp/xxx.temp
3.取得当前临时文件的【基本信息-----------上传文件名称.文件类型】 test.xls
4.根据获得上传文件名称.文件类型,在服务器端创建一个对应的【空文件--test.xls】
5.通过I/O流,将临时文件保存数据导出到【空文件】
6.手动销毁调用临时文件


5.0 FileUpload.jar提供API

1.DiskFileItemFactory:磁盘工厂工具类
实际上就是FileOutputStream封装版。
负责解析生成临时文件保存到服务器中指定硬盘位置
2.ServletFileUpload:【数据解析工具类】
代替request,解析RFC-1867协议中请求参数,将它遇到的每一个请求参数,解析成一个临时文件
研发时,实在实验室模拟了RFC-1867协议的特征进行处理的。但是RFC-1867并没有为 【数据解析工具类】提供一个开放的接口

3.DiskFileItem: 描述被加载到内存中临时文件,因此这个类被叫做【临时文件类型】 实现FileItem
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: