基于Web的大文件高效上传方法①
2020-03-18阮晓龙李朋楠
阮晓龙,李朋楠
1(河南中医药大学 信息技术学院,郑州 450046)
2(郑州祺石信息技术有限公司,郑州 450008)
1 现状分析
1.1 应用价值
大文件上传是Web 应用系统中常见的问题[1],尽管HTTP 是TCP 上层的协议,但是HTTP 协议本身并不适合处理超大的请求体,文件上传的稳定性存在着很大的问题.如果传输过程中因某种异常而中断,将前功尽弃,同时,若没有断点续传功能,那文件只能重新上传,这样不仅造成带宽资源的浪费,而且不能保证再次上传文件就能成功[2].
目前基于HTTP 协议的断点续传方案虽然保证大文件上传过程中的稳定性,但是在传输效率和安全性方面仍有不足,满足不了当前互联网Web 应用系统的需求,因此基于Web 的大文件高效上传方法的研究和实现是Web 应用中的重要基础[3,4].
1.2 常用技术
目前互联网中,已经存在许多基于Web 上传文件的方法,文献[5]中介绍了常用3 种方法如下所示:
(1)HTML Form
该方法主要利用HTML 中Form 表单实现简单的文件上传.其中表单的提交方式为POST,编码类型enctype 为“multipart/form-data”.同时Form 表单里还需要包含一个文件框Input,文件框类型(type)应为file.通过结合Javascript、Ajax 等脚本技术,从而实现文件异步上传、交互等操作.
(2)RIA 技术
RIA 技术主要是包括Flex、Silverlight、JavaFX等技术,该技术中最常用的文件上传插件为SWFUpload.
RIA 技术的倡导者为Adobe,其提供了Flex 技术来使程序员可以用编程的方式生成Flash 内容,因此一般常用Flex 技术开发文件上传的客户端程序.
同时,与Silverlight、JavaFX 等技术在运行库方面比较,Flex 也最是轻量级的.
(3)插件技术
在浏览器中也可以使用插件实现文件上……
