CN101174954A - 一种基于互联网超文本传输协议的文件断点上传方法 - Google Patents

一种基于互联网超文本传输协议的文件断点上传方法 Download PDF

Info

Publication number
CN101174954A
CN101174954A CNA2006101177926A CN200610117792A CN101174954A CN 101174954 A CN101174954 A CN 101174954A CN A2006101177926 A CNA2006101177926 A CN A2006101177926A CN 200610117792 A CN200610117792 A CN 200610117792A CN 101174954 A CN101174954 A CN 101174954A
Authority
CN
China
Prior art keywords
file
upload
document
uploading
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2006101177926A
Other languages
English (en)
Inventor
赵相辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI GAOQIN COMMUNICATION TECHNOLOGY Co Ltd
Original Assignee
SHANGHAI GAOQIN COMMUNICATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI GAOQIN COMMUNICATION TECHNOLOGY Co Ltd filed Critical SHANGHAI GAOQIN COMMUNICATION TECHNOLOGY Co Ltd
Priority to CNA2006101177926A priority Critical patent/CN101174954A/zh
Publication of CN101174954A publication Critical patent/CN101174954A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种基于互联网超文本传输协议的实现文件multipart/form-data编码方式下文件的断点上传方法。该方法使得文件在上传过程中,利用通用的form表单multipart/form-data编码方式,自定义确认文件开始打包上传的位置,并可以使文件在上传的时候对文件流打包的开始位置进行修正,这样其就只会提供需要上传的部分文件体,对已经上传过的部分忽略,使得在不改变现有协议的前提下,客户端实现文件上传过程中的断点续传。这样可以有效解决诸如网络硬盘、相册、博客等在网络应用时,文件上传过程中由于网络中断而重新上传所引起的重复劳动和浪费时间的问题。另外,该方法的思路还可以通过Java、Delphi语言以及C++语言来具体实现。

Description

一种基于互联网超文本传输协议的文件断点上传方法
技术领域:
本发明属于互联网超文本传输协议应用领域,具体涉及一种基于互联网超文本传输协议的文件断点上传方法。
背景技术:
在互联网高度发达的今天,文件传输一直网络中的重要应用技术。随着http协议的诞生,比起以往的ftp协议,它在文件传输技术上比后者应用更方便、灵活且高效。在现有的技术中,利用http协议进行断点续传下载的文件传输的技术手段已经早已被广泛应用,该技术解决了客户端从服务器上下载文件时网络中断所引起的文件须重新下载的麻烦。然而随着服务器业务功能的发展,诸如网络硬盘、个人主页、博客等的相继出现,对于客户端而言,如何高效、顺利地上传文件对于广大网络用户就显得极其需要。
现有采用的http协议进行文件上传的过程大致如下:
目前通常网页上传文件是通过Form表单提交的方式上传,编码类型采用multipart/form-data(enctype=”multipart/form-data”),这样表单提交的时候就会把表单里包含的数据或文件按multipart/form-data的表单打包方式打包提交到服务器上接受的地址。这里的关键在于目前通常采用的方式是把所有的数据打包发送,对于需要上传的文件而言他是从文件头也就是全部文件都要发送。
根据上述过程,对于现有用http协议进行文件上传的技术来说,由于传输时不能控制文件传输的开始位置,造成上传一个文件失败后如果要重新传输就需要从头开始传,如果碰到文件比较大或者网络速度不稳定的情况下很难将文件上传成功。当然,对于文件上传可以采用其它网络协议的应用环境(如FTP),但这个给以http协议应用为主的web应用带来很大的不方便,同时,由于各地的网络环境不同,其它的协议或上传方式有可能被禁止(如公司局域网封了FTP的21端口)。
发明内容:
本发明的目的就是克服上述实际应用中存在的问题,使得文件在上传过程中,利用通用的form表单multipart/form-data编码方式,自定义确认文件开始打包上传的位置,该技术的实现为使用http协议Form表单提交文件类型的数据提供完整的解决方案,使文件在不良网络环境下传输,即使传输到一般失败,已经上传的部分也不会丢失,在下次传输的时候可以接着传输余下的部分,这个对于文件较大,网络情况较差的用户具有非常大的意义。
为了实现上述发明目的,本发明所采用的技术方案如下:
一种基于互联网超文本传输协议的实现文件multipart/form-data编码方式下文件的断点上传方法,其特征在于,具体步骤如下:
1.用户登录提供上传文件服务的网站;
2.进入文件上传页面,启动http断点上传控件,选择需要上传的文件;
3.启动上传文件。http客户端给http服务器发送上传请求命令,该命令信息携带了上传文件的特征信息与用户的特征信息。包括文件名,文件大小,上传的目录,用户名以及防止恶意篡改的MD5信息等;
4.http客户端通过http协议发送请求数据,该过程和普通网页请求数据方式一样可以通过get或post方法;以上访问都通过web服务80端口来实现;
5.服务器收到请求后,检索该上传文件的实际上传状态,如果没有上传会创建该文件上传记录,如果以前上传过则得到该文件的存储位置及已经上传的状态及大小;然后把请求结果发送给http客户端;
6.http客户端接收服务器的请求回复,并根据该回复信息得到上传的起始位置;然后根据通用的form表单multipart/form-data编码方式从得到的文件需要发送的起始位置开始将上传文件打包并发送数据文件流体到服务器;该发送过程中同样附带了该文件的特征信息与用户信息,其发送方式一般采用post方式发送文件;
7.服务器接受到文件流体,及文件的其他信息,定位并打开该文件,同样移动写位置到文件续传的位置,在该位置保存接受的文件流数据;
8.在上传过程中如果网络中断或服务器等故障中断,文件再次上传时http客户端会重新启动步骤4开始的上传过程,并重新获得文件上传的开始位置发送文件,确保上传文件的准确性;
9.上传完成后服务器保存好该文件,然后更新该文件的数据记录为完成状态并结束整个上传过程。
所述方法采用多次请求定位需要上传的文件的起始位置,发送时从起始位置开始打包丢弃已经上传的部分。
所述方法运行的环境为基于tcp/ip的网络,可采用任意web服务器。
所述方法中涉及的数据文件的请求、发送方式完全是基于http协议,数据文件报头的大小,数据块的大小和普通的web请求完全一致;但数据的传输量没有任何限制,可以传输任意大小的文件。
本发明的有益效果在于:该方法在上传的时候对文件流打包的开始位置进行了修正,这样其就只会提供需要上传的部分文件体,对已经上传过的部分忽略,使得在不改变现有协议的前提下,客户端实现文件上传过程中的断点续传。这样可以有效解决诸如网络硬盘、相册、博客等在网络应用时,文件上传过程中由于网络中断而重新上传所引起的重复劳动和浪费时间的问题。另外,该方法的思路还可以通过Java、Delphi语言以及C++语言来具体实现。
附图说明:
图1为本方法的工作流程图。
图2为本发明方法实施例中服务器的工作流程图。
图3为本发明方法实施例中客户端的工作流程图。
具体实施方式:
下面通过附图具体说明本发明。
本发明方法的应用于以支持http协议与TCP/IP协议的网络通信环境中,按照上述发明内容所述,具体应用方案如下:
网络环境:
本实施例的中,我们采用的硬件配置为
1、服务器:硬件环境:dell普通服务器,tcp/ip协议的网络软体:
linux操作系统,jdk1.42,tomcat5.12
2、客户端:普通pc,windows xp操作系统,ie6.0参见图1,图2及图3,该具体实现的过程为:
在正常情况下:
①发送文件上传请求
②服务器收到请求检索文件状态,把检索后的结果返回给断点上传控件。
③断点上传控件读取返回结果,如果上传完成结束。如果是新上传或上传没有完成可以得到该文件上传起始位置。
④按通用的form表单提交multipart/form-data编码方式从起始位置打包文件。发送文件。
⑤服务器接受到文件,定位到文件保存位置,保存文件。
⑥文件接受保存完毕,更新数据库中文件记录的状态。返回给断点上传控件文件保存完成。
⑦断点上传控件接受到完成信息。显示上传完成。
这样整个上传过程完成。
上传过程中,传输发生中断时:断点上传控件重新发送文件上传请求,重复上述步骤1开始的上传流程。这样就保证了文件完整正确的上传。
以上是本发明的实施方式之一,对于本领域内的一般技术人员,不花费创造性的劳动,在上述实施例的基础上可以做多种变化,同样能够实现本发明的目的。但是,这种变化显然应该在本发明的权利要求书的保护范围内。

Claims (4)

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请求完全一致;但数据的传输量没有任何限制,可以传输任意大小的文件。
CNA2006101177926A 2006-10-31 2006-10-31 一种基于互联网超文本传输协议的文件断点上传方法 Pending CN101174954A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2006101177926A CN101174954A (zh) 2006-10-31 2006-10-31 一种基于互联网超文本传输协议的文件断点上传方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2006101177926A CN101174954A (zh) 2006-10-31 2006-10-31 一种基于互联网超文本传输协议的文件断点上传方法

Publications (1)

Publication Number Publication Date
CN101174954A true CN101174954A (zh) 2008-05-07

Family

ID=39423235

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006101177926A Pending CN101174954A (zh) 2006-10-31 2006-10-31 一种基于互联网超文本传输协议的文件断点上传方法

Country Status (1)

Country Link
CN (1) CN101174954A (zh)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009140813A1 (zh) * 2008-05-23 2009-11-26 中兴通讯股份有限公司 实现断点续传的文件下载的方法、系统及终端
CN102096772A (zh) * 2011-01-30 2011-06-15 北京恒华伟业科技股份有限公司 一种输变电工程的智能客户端系统
CN102420875A (zh) * 2011-12-20 2012-04-18 深圳市茁壮网络股份有限公司 一种文件上传方法及相关设备、系统
CN102457556A (zh) * 2010-10-29 2012-05-16 卓望数码技术(深圳)有限公司 用于在移动终端上发布博客的方法、装置和系统
CN101645786B (zh) * 2009-06-24 2012-05-23 中国联合网络通信集团有限公司 发布博客内容的方法及业务处理装置
CN102523244A (zh) * 2011-11-18 2012-06-27 深圳中兴网信科技有限公司 一种网页文件的上传方法及其系统
CN102571709A (zh) * 2010-12-16 2012-07-11 腾讯科技(北京)有限公司 文件上传的方法、客户端、服务器及系统
CN101662484B (zh) * 2008-08-28 2012-07-25 中国科学院声学研究所 一种基于rfc1867规范的http协议的文件上传方法
CN102739357A (zh) * 2012-05-30 2012-10-17 深圳市通盛网络技术有限公司 数据无差错传输处理方法
CN102957715A (zh) * 2011-08-19 2013-03-06 深圳市快播科技有限公司 一种数据传输方法及系统
CN103067505A (zh) * 2012-12-30 2013-04-24 乐视网信息技术(北京)股份有限公司 一种上传文件到服务器的方法
CN103220361A (zh) * 2013-04-23 2013-07-24 深圳市元征科技股份有限公司 一种断点续传的方法和具有断点续传功能的诊断设备
CN103401914A (zh) * 2013-07-26 2013-11-20 浪潮电子信息产业股份有限公司 一种文件上传断点续传的方法
CN103581242A (zh) * 2012-07-27 2014-02-12 腾讯科技(深圳)有限公司 上传文件的方法、客户端设备、服务器及系统
CN103634345A (zh) * 2012-08-23 2014-03-12 杭州新锐信息技术有限公司 用于物流寄递监管系统的信息采集传输方法
CN103685332A (zh) * 2012-08-31 2014-03-26 腾讯科技(深圳)有限公司 文件上传方法、客户端、服务器及系统
CN103944937A (zh) * 2013-01-21 2014-07-23 百度在线网络技术(北京)有限公司 基于网页的文件上传方法和装置
CN104253816A (zh) * 2014-09-25 2014-12-31 武汉传神信息技术有限公司 基于http协议的大文件页面断点续传的方法
CN101577736B (zh) * 2009-06-04 2015-01-28 中兴通讯股份有限公司 上传文件的方法和装置
CN105100140A (zh) * 2014-05-04 2015-11-25 腾讯科技(深圳)有限公司 文件传输方法和系统
WO2015196473A1 (zh) * 2014-06-27 2015-12-30 北京新媒传信科技有限公司 一种数据发送/接收方法、装置、智能终端及系统
CN105227514A (zh) * 2014-05-27 2016-01-06 北大方正集团有限公司 基于浏览器的文件传输处理方法和浏览器
CN105306568A (zh) * 2015-10-23 2016-02-03 无锡天脉聚源传媒科技有限公司 一种基于浏览器续传任务的方法及装置
CN106230919A (zh) * 2016-07-26 2016-12-14 广州酷狗计算机科技有限公司 一种文件上传的方法和装置
CN106453474A (zh) * 2015-07-17 2017-02-22 生物辐射实验室股份有限公司 在不稳定网络环境中的大文件的网络传输
CN108401012A (zh) * 2018-01-31 2018-08-14 山东汇贸电子口岸有限公司 一种文件断点续传方法
CN109819339A (zh) * 2017-11-20 2019-05-28 创盛视联数码科技(北京)有限公司 Html5断点续传的方法
CN110209647A (zh) * 2019-05-15 2019-09-06 深圳市麦谷科技有限公司 一种支持多云存储服务的文件上传方法及系统
CN112153132A (zh) * 2020-09-18 2020-12-29 北京浪潮数据技术有限公司 基于虚拟化管理平台的文件上传方法、装置及设备
CN112583889A (zh) * 2020-11-18 2021-03-30 京信数据科技有限公司 一种大文件传输的方法及装置

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009140813A1 (zh) * 2008-05-23 2009-11-26 中兴通讯股份有限公司 实现断点续传的文件下载的方法、系统及终端
CN101662484B (zh) * 2008-08-28 2012-07-25 中国科学院声学研究所 一种基于rfc1867规范的http协议的文件上传方法
CN101577736B (zh) * 2009-06-04 2015-01-28 中兴通讯股份有限公司 上传文件的方法和装置
CN101645786B (zh) * 2009-06-24 2012-05-23 中国联合网络通信集团有限公司 发布博客内容的方法及业务处理装置
CN102457556A (zh) * 2010-10-29 2012-05-16 卓望数码技术(深圳)有限公司 用于在移动终端上发布博客的方法、装置和系统
CN102571709A (zh) * 2010-12-16 2012-07-11 腾讯科技(北京)有限公司 文件上传的方法、客户端、服务器及系统
CN102096772A (zh) * 2011-01-30 2011-06-15 北京恒华伟业科技股份有限公司 一种输变电工程的智能客户端系统
CN102096772B (zh) * 2011-01-30 2012-11-21 北京恒华伟业科技股份有限公司 一种输变电工程的智能客户端系统
CN102957715B (zh) * 2011-08-19 2016-01-20 深圳市快播科技有限公司 一种数据传输方法及系统
CN102957715A (zh) * 2011-08-19 2013-03-06 深圳市快播科技有限公司 一种数据传输方法及系统
CN102523244A (zh) * 2011-11-18 2012-06-27 深圳中兴网信科技有限公司 一种网页文件的上传方法及其系统
CN102420875A (zh) * 2011-12-20 2012-04-18 深圳市茁壮网络股份有限公司 一种文件上传方法及相关设备、系统
CN102739357B (zh) * 2012-05-30 2015-09-23 深圳市通盛网络技术有限公司 数据无差错传输处理方法
CN102739357A (zh) * 2012-05-30 2012-10-17 深圳市通盛网络技术有限公司 数据无差错传输处理方法
CN103581242A (zh) * 2012-07-27 2014-02-12 腾讯科技(深圳)有限公司 上传文件的方法、客户端设备、服务器及系统
CN103581242B (zh) * 2012-07-27 2018-06-15 腾讯科技(深圳)有限公司 上传文件的方法、客户端设备、服务器及系统
CN103634345B (zh) * 2012-08-23 2017-02-15 杭州新锐信息技术有限公司 用于物流寄递监管系统的信息采集传输方法
CN103634345A (zh) * 2012-08-23 2014-03-12 杭州新锐信息技术有限公司 用于物流寄递监管系统的信息采集传输方法
CN103685332A (zh) * 2012-08-31 2014-03-26 腾讯科技(深圳)有限公司 文件上传方法、客户端、服务器及系统
CN103685332B (zh) * 2012-08-31 2018-04-24 腾讯科技(深圳)有限公司 文件上传方法、客户端、服务器及系统
CN103067505A (zh) * 2012-12-30 2013-04-24 乐视网信息技术(北京)股份有限公司 一种上传文件到服务器的方法
CN103944937A (zh) * 2013-01-21 2014-07-23 百度在线网络技术(北京)有限公司 基于网页的文件上传方法和装置
CN103944937B (zh) * 2013-01-21 2017-08-18 百度在线网络技术(北京)有限公司 基于网页的文件上传方法和装置
CN103220361A (zh) * 2013-04-23 2013-07-24 深圳市元征科技股份有限公司 一种断点续传的方法和具有断点续传功能的诊断设备
CN103401914A (zh) * 2013-07-26 2013-11-20 浪潮电子信息产业股份有限公司 一种文件上传断点续传的方法
CN105100140B (zh) * 2014-05-04 2019-05-14 腾讯科技(深圳)有限公司 文件传输方法和系统
CN105100140A (zh) * 2014-05-04 2015-11-25 腾讯科技(深圳)有限公司 文件传输方法和系统
CN105227514A (zh) * 2014-05-27 2016-01-06 北大方正集团有限公司 基于浏览器的文件传输处理方法和浏览器
WO2015196473A1 (zh) * 2014-06-27 2015-12-30 北京新媒传信科技有限公司 一种数据发送/接收方法、装置、智能终端及系统
CN105794148A (zh) * 2014-06-27 2016-07-20 北京新媒传信科技有限公司 一种数据发送/接收方法、装置、智能终端及系统
CN104253816A (zh) * 2014-09-25 2014-12-31 武汉传神信息技术有限公司 基于http协议的大文件页面断点续传的方法
CN106453474A (zh) * 2015-07-17 2017-02-22 生物辐射实验室股份有限公司 在不稳定网络环境中的大文件的网络传输
CN106453474B (zh) * 2015-07-17 2021-02-05 生物辐射实验室股份有限公司 在不稳定网络环境中的大文件的网络传输
CN105306568A (zh) * 2015-10-23 2016-02-03 无锡天脉聚源传媒科技有限公司 一种基于浏览器续传任务的方法及装置
CN106230919A (zh) * 2016-07-26 2016-12-14 广州酷狗计算机科技有限公司 一种文件上传的方法和装置
CN106230919B (zh) * 2016-07-26 2020-03-17 广州酷狗计算机科技有限公司 一种文件上传的方法和装置
CN109819339A (zh) * 2017-11-20 2019-05-28 创盛视联数码科技(北京)有限公司 Html5断点续传的方法
CN108401012A (zh) * 2018-01-31 2018-08-14 山东汇贸电子口岸有限公司 一种文件断点续传方法
CN110209647A (zh) * 2019-05-15 2019-09-06 深圳市麦谷科技有限公司 一种支持多云存储服务的文件上传方法及系统
CN112153132A (zh) * 2020-09-18 2020-12-29 北京浪潮数据技术有限公司 基于虚拟化管理平台的文件上传方法、装置及设备
CN112583889A (zh) * 2020-11-18 2021-03-30 京信数据科技有限公司 一种大文件传输的方法及装置

Similar Documents

Publication Publication Date Title
CN101174954A (zh) 一种基于互联网超文本传输协议的文件断点上传方法
TWI227976B (en) Real-time search engine
US11403262B2 (en) Local networked storage linked to remote networked storage system
US9092758B2 (en) Service providing apparatus, information processing system and methods
US20020138653A1 (en) Workstation system, computer, data transfer method, data editing method, computer program generation method, computer program and storage medium
JP2003044385A (ja) 信頼性のあるインターネットクリップボード
KR20000062465A (ko) 오프라인 클라이언트의 요구에 대한 응답을 제공하는 방법및 장치
WO2002017140A3 (en) Method and system for seamlessly accessing remotely stored files
JP2006517046A (ja) ハンドヘルドコンピューターにおける自動データインストールのためのシステムおよび方法
CN100473070C (zh) 一种具有存储功能的usb设备在网络计算机上的映射方法
CN110166547B (zh) 终端远程访问控制方法
JP2009009309A (ja) サーバ・システムならびにその動作制御方法およびその制御プログラム
CN102368248A (zh) 一种ie内核浏览器的页面下载控制方法和系统
US20130179398A1 (en) Device for synchronously sharing files and method for synchronously sharing files
CN102790806A (zh) 一种基于http协议下载课件的方法及装置
JP2006099442A5 (zh)
CN109460389A (zh) 一种基于openresty的日志记录方法
CN111881108B (zh) 一种基于web ssh的文件传输方法及装置
KR100763526B1 (ko) 애플리케이션 컨텍스트 관리 장치 및 방법
JP2009075967A (ja) 公開情報利用装置、公開情報利用方法、およびコンピュータプログラム
JP2008546092A (ja) パーソナルインターネットコミュニケータのセキュリティシステム
EP1581859A1 (fr) Procede de gestion d' un peripherique et systeme informatique utilisant un tel procede
JP2001142820A (ja) ホームページ情報作成システム
CN102087653B (zh) 一种发布网站信息的方法及装置
CN102426547B (zh) 一种云端数据恢复方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080507