著录项信息
专利名称 | 一种基于互联网超文本传输协议的文件断点上传方法 |
申请号 | CN200610117792.6 | 申请日期 | 2006-10-31 |
法律状态 | 撤回 | 申报国家 | 中国 |
公开/公告日 | 2008-05-07 | 公开/公告号 | CN101174954 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/00 | IPC分类号 | H04L12/00;H04L29/06查看分类表>
|
申请人 | 上海高勤通信科技有限公司 | 申请人地址 | 上海市徐汇区淮海西路197号达通广场12***
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 上海高勤通信科技有限公司 | 当前权利人 | 上海高勤通信科技有限公司 |
发明人 | 赵相辉 |
代理机构 | 上海天翔知识产权代理有限公司 | 代理人 | 孙景宜 |
摘要
本发明公开了一种基于互联网超文本传输协议的实现文件multipart/form-data编码方式下文件的断点上传方法。该方法使得文件在上传过程中,利用通用的form表单multipart/form-data编码方式,自定义确认文件开始打包上传的位置,并可以使文件在上传的时候对文件流打包的开始位置进行修正,这样其就只会提供需要上传的部分文件体,对已经上传过的部分忽略,使得在不改变现有协议的前提下,客户端实现文件上传过程中的断点续传。这样可以有效解决诸如网络硬盘、相册、博客等在网络应用时,文件上传过程中由于网络中断而重新上传所引起的重复劳动和浪费时间的问题。另外,该方法的思路还可以通过Java、Delphi语言以及C++语言来具体实现。
1.一种基于互联网超文本传输协议的实现文件multipart/form-data编 码方式下文件的断点上传方法,其特征在于,具体步骤如下:
①用户登录提供上传文件服务的网站;
②进入文件上传页面,启动http断点上传控件,选择需要上传的文件;
③启动上传文件。http客户端给http服务器发送上传请求命令,该命令 信息携带了上传文件的特征信息与用户的特征信息。包括文件名,文件 大小,上传的目录,用户名以及防止恶意篡改的MD5信息等;
④http客户端通过http协议发送请求数据,该过程和普通网页请求数据 方式一样可以通过get或post方法;以上访问都通过web服务80端口 来实现;
⑤服务器收到请求后,检索该上传文件的实际上传状态,如果没有上传会 创建该文件上传记录,如果以前上传过则得到该文件的存储位置及已经 上传的状态及大小;然后把请求结果发送给http客户端;
⑥http客户端接收服务器的请求回复,并根据该回复信息得到上传的起始 位置;然后根据通用的form表单multipart/form-data编码方式从得 到的文件需要发送的起始位置开始将上传文件打包并发送数据文件流 体到服务器;该发送过程中同样附带了该文件的特征信息与用户信息, 其发送方式一般采用post方式发送文件;
⑦服务器接受到文件流体,及文件的其他信息,定位并打开该文件,同样 移动写位置到文件续传的位置,在该位置保存接受的文件流数据;
⑧在上传过程中如果网络中断或服务器等故障中断,文件再次上传时http 客户端会重新启动步骤4开始的上传过程,并重新获得文件上传的开始 位置发送文件,确保上传文件的准确性;
⑨上传完成后服务器保存好该文件,然后更新该文件的数据记录为完成状 态并结束整个上传过程。
2.根据权利要求1的断点上传方法,其特征在于,所述方法采用多次请 求定位需要上传的文件的起始位置,发送时从起始位置开始打包丢弃已经上传 的部分。
3.根据权利要求1的断点上传方法,其特征在于,所述方法运行的环境 为基于tcp/ip的网络,可采用任意web服务器。
4.根据权利要求1的断点上传方法,其特征在于,所述方法中涉及的数 据文件的请求、发送方式完全是基于http协议,数据文件报头的大小,数据 块的大小和普通的web请求完全一致;但数据的传输量没有任何限制,可以传 输任意大小的文件。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2011-01-30 | 2011-01-30 | | |
2 | | 2010-10-29 | 2010-10-29 | | |
3 | | 2009-06-04 | 2009-06-04 | | |
4 | | 2012-08-23 | 2012-08-23 | | |
5 | | 2011-08-19 | 2011-08-19 | | |
6 | | 2008-08-28 | 2008-08-28 | | |
7 | | 2012-07-27 | 2012-07-27 | | |
8 | | 2012-05-30 | 2012-05-30 | | |
9 | | 2013-01-21 | 2013-01-21 | | |
10 | | 2012-08-31 | 2012-08-31 | | |
11 | | 2011-08-19 | 2011-08-19 | | |
12 | | 2008-12-24 | 2008-12-24 | | |
13 | | 2014-06-27 | 2014-06-27 | | |
14 | | 2014-05-27 | 2014-05-27 | | |
15 | | 2012-05-30 | 2012-05-30 | | |
16 | | 2013-07-26 | 2013-07-26 | | |
17 | | 2012-08-31 | 2012-08-31 | | |
18 | | 2010-12-16 | 2010-12-16 | | |
19 | | 2009-06-24 | 2009-06-24 | | |
20 | | 2011-11-18 | 2011-11-18 | | |
21 | | 2013-01-21 | 2013-01-21 | | |
22 | | 2014-09-25 | 2014-09-25 | | |
23 | | 2014-06-27 | 2014-06-27 | | |
24 | | 2012-12-30 | 2012-12-30 | | |
25 | | 2013-04-23 | 2013-04-23 | | |
26 | | 2011-12-20 | 2011-12-20 | | |
27 | | 2011-01-30 | 2011-01-30 | | |
28 | | 2012-07-27 | 2012-07-27 | | |