文件上传介绍:

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值