文件上传介绍:
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
相关文章推荐
- Tomcat错误-Port already in use
- hibernate+maven——helloworld
- musb 0619
- 20145321 《Java程序设计》课程总结
- 选择排序与冒泡排序
- 20145316 《Java程序设计》 课程总结
- 十五周进度条
- mysql 统计每个门店 每天 每月 每年 的订单 消费总额
- 推举一个在线matlab(octave)
- HDU 1874 畅通工程续
- 简单实现一个ArrayList
- 即将迈入大学未来想做网站运营,如何避免走弯路?
- 即将迈入大学未来想做网站运营,如何避免走弯路?
- Java TreeMap工作原理及实现
- 日志服务器:
- 14.1 && 14.2节练习
- LeetCode-235 Lowest Common Ancestor of a Binary Search Tree
- Spring mvc框架tutorial
- Struts2(五):ActionSupport
- js闭包