[发明专利]一种从浏览器向服务器发送文件的方法在审
申请号: | 201510505579.1 | 申请日: | 2015-08-17 |
公开(公告)号: | CN105306523A | 公开(公告)日: | 2016-02-03 |
发明(设计)人: | 周安宁;罗小琦;龙斌;巫鹏伟;颜民;朱玉洪 | 申请(专利权)人: | 成都飞机设计研究所 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 中国航空专利中心 11008 | 代理人: | 杜永保 |
地址: | 610091 四川省成都市青羊区*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 浏览器 服务器 发送 文件 方法 | ||
技术领域
本发明一种从浏览器向服务器发送文件的方法属于互联网通讯技术领域,特别是涉及文件传输技术领域。
背景技术
在使用浏览器向网页服务器发送文件时,目前通常使用HTML标记Form元素中的<inputtype=file>标签。但是<inputtype=file>标签不能受到JavaScript等脚本语言的驱动,无法使用程序设定发送的具体文件,每一个需要上传的文件都必须由用户在浏览器页面上手动选择。这使得无法确定发送文件的数量时,只能用户手动增加<inputtype=file>标签数量并逐个选择欲上传的文件,比如在页面显示一个“增加”按钮,用户每点击一次,程序在Form元素中增加一个<inputtype=file>标签,用户再使用新增加的标签指定需要上传的另一个文件。这样用户必须多次点击和选择文件,而不能简化。
如果有大量文件需要上传,用户需要逐一增加<inputtype=file>标签,并选择对应文件。极易出现误操作,漏选/重复选择某些文件,导致漏传/重复传输。
发明内容
本发明的目的是:由程序算法指定上传的文件和数量,简化用户操作。
本发明的技术方案是:在浏览器端使用XMLHTTP请求传输特定结构的数据流。在服务器端使用通用处理方式解析出传输的文件本身和文件的相关信息。
该方法包括以下步骤:
1)在浏览器端按需确定并读入需要传输的文件。
2)在浏览器端组装一段二进制数据流FullStream,该二进制数据流包含需要发送的文件数据,并具备本发明定义的特殊结构。
3)使用XMLHTTP请求页面服务器发送该二进制流数据;
4)页面服务器采用通用方法接收文件。
本发明的有益效果:
本发明的有益效果为减少了对用户干预的需求,简化了交互操作,可以避免人致失误。
程序算法可过滤出所有需传输的文件,如特定目录下所有文件名以“XX”开头的文件,由程序自动组装成FullStream,直接上传到服务器;而用户不需数清楚符合条件的文件数量,也不需要指定每一个文件名,就能够完成上传操作。简化了操作步骤,避免了错误操作的发生。
附图说明
图1是本发明文件传输方法的流数据组成结构示意图
图2使用本方法上传指定文件夹下所有“.dat”文件的流程图
其中,1为边界符,2为回车+换行(图中所有换行均显示给出,无隐含字符),3为FormName,4为filename.sufix,5为SomeInformation,6为文件本身的二进制数据。
具体实施方式
本发明原理:本发明依赖的原理在于浏览器普遍提供XMLhttp请求功能。该功能允许浏览器端的Javascript、VBscript等脚本代码向任意网页发起连接请求,发送文本、二进制数据流。
因此在浏览器端以约定的组织结构组装二进制数据流,将文件的二进制内容灌录其中,发送到对应的网页。该网页服务器端就能够解析出二进制数据流中包含的文件内容和其他信息。
在这一原理的基础上,明确定义二进制数据流的结构,在浏览器端按这一结构组装二进制数据流,在服务器端按这一结构解析二进制数据流,就能够完成文件的传输。而传输的文件本身可以不再必须经过用户逐一指定。
下面结合附图对本发明做进一步的详细说明。
1)在浏览器端按需确定需要传输的文件,并以二进制数据流读入文件,作为数据部分。
2)在浏览器端组装一段二进制数据流FullStream,该二进制数据流包含需要发送的文件数据,二进制数据流FullStream由组合数据流CompositeStream、文件数据流FileStream、信息部分InformationSegment和数据部分嵌套组合而成,其组合关系如图1所示:
a)二进制数据流FullStream的构建;由“/r/n”对组合数据流CompositeStream进行首尾包裹,得到的结果再以边界符Boundary进行首尾包裹,最后以“--/r/n”结束,即:
FullStream=Boundary+”/r/n”+CompositeStream+”/r/n”+
Boundary+”--/r/n”
其中:/r为回车符;/n为换行符;边界符Boundary为随机产生的以“--”字符开头的一串字符;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都飞机设计研究所,未经成都飞机设计研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510505579.1/2.html,转载请声明来源钻瓜专利网。