CN114979118A - 一种基于浏览器的文件断点续传方法 - Google Patents
一种基于浏览器的文件断点续传方法 Download PDFInfo
- Publication number
- CN114979118A CN114979118A CN202210543888.8A CN202210543888A CN114979118A CN 114979118 A CN114979118 A CN 114979118A CN 202210543888 A CN202210543888 A CN 202210543888A CN 114979118 A CN114979118 A CN 114979118A
- Authority
- CN
- China
- Prior art keywords
- file
- breakpoint
- uploading
- size
- client
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000002452 interceptive effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种基于浏览器的文件断点续传方法,属于信息技术领域,本发明含如下五个方面:客户端发起文件上传请求;确定并保存断点位置;获取文件断点;续传文件流;获取上传结果。节省了文件的上传时间和网络资源而且保证了文件续传的可靠性及稳定性。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种基于浏览器的文件断点续传方法。
背景技术
当今互联网技术发展迅速,基于B/S(浏览器端服务端模式)的站点开发及架设模式遍布于互联网世界的每一个角落。依托浏览器客户端的信息获取及信息发布也极大的便利了信息资源的共享及交流。文件作为信息资源的重要载体,在基于浏览器的互联网环境中,常被上传至服务端以方便文件资源的下载及共享。然而文件传输中难免遇到网络中断或传输端无法正常响应的情况,这就需要文件重新进行传输。为应对该种情况的发生,避免文件在重复传输中所造成的网络资源浪费的情况,文件传输中支持断点上传变的尤为必要。
当前,文件上传方式很多结合不同的文件传输协议有ftp,ssh等多种客户端上传工具。相比较而言,依托浏览器作为客户端进行文件上传,此种模式更为方便、快捷。现如今基于浏览器模式进行上传的方法也有很多种,比如利用各种前端上传组件对文件进行整体上传或分片(块)上传。即便有些支持分片的上传组件关注到了断点本身但是续传粒度为文件流片(块)且大多没有对断点位置持久化。
发明内容
为了解决以上技术问题,本发明提供了一种基于浏览器的文件断点续传方法,解决文件传输意外中断情况下的文件续传的时效性及准确性问题。
本发明的技术方案是:
一种基于浏览器的文件断点续传方法,包括:
基于浏览器获取断点;
基于断点执行文件流续传。
进一步的,
所述基于基于浏览器获取断点之前还包括:
用户确认浏览器端及服务端网络环境是连通的,用户通过浏览器发起文件上传及文件检查请求。
服务端响应客户端发起的文件检查请求,对上传文件的信息组合(包含文件名称,文件大小,文件类型,文件时间戳)后执行MD5处理,以获取文件的唯一标识。
进一步的,
基于浏览器获取断点还包括:通过比对文件唯一性标识判断文件是否存在,返回客户端已上传文件大小(断点)信息,并将断点信息保存到数据库中的断点信息表。
进一步的,
基于断点执行文件流续传包括:
客户端获取断点后比对源文件与已上传文件的大小,如果相等则文件已上传完成。
如果源文件大小大于已上传文件大小则需从已上传文件大小处(断点处)续传文件流。续传粒度精确至字节。
再进一步的,
服务端接收续传文件流并写入文件中。文件流写入完成后更新数据库中断点信息表中的已上传文件大小的信息。
服务端文件流续传结束后关闭文件流,并向客户端返回文件上传结果。
本发明的有益效果是
基于浏览器的文件断点续传方法,一方面对于网络中断情况下可及时定位断点所处位置,精确到文件流的字节粒度,节约了文件重传或续传中的网络流量。另一方面,针对获取到的断点信息进行持久化到数据库的操作,避免断点信息在非持久化环境中的意外丢失。
在文件传输意外中断的情况下,该种方法不仅节省了文件的上传时间和网络资源而且保证了文件续传的可靠性及稳定性
附图说明
图1为本发明所提供的文件断点上传示意图;
图2为本发明所提供的文件断点上传流程图;
图3为基于本发明的工作流程简图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于浏览器的文件断点续传方法,主要包括五个方面:客户端发起文件上传及检查请求;确定并保存断点;客户端获取断点;续传文件流;获取上传结果。
发起文件上传及检查请求:
(1)文件上传请求。
基于浏览器,通过前端上传组件,文件以文件流形式上传至服务端。
(2)文件检查请求。
该请求中包含源文件名称,文件大小,文件类型,文件时间戳信息,服务端响应该文件检查请求,对获取到的文件名称,文件大小,文件类型,文件时间戳信息组合后进行md5处理,以获取文件的唯一标识。
确定并保存断点:
(1)确定断点位置。
通过上述步骤中获取到的文件md5标识,在服务端执行数据库文件信息查询,通过查询文件标识信息所返回的查询结果,判断客户端源文件是否已经存在。如果存在则返回服务端文件的大小。如果不存在则返回文件大小为0。返回的服务端文件大小可确定源文件的断点位置。
(2)保存断点位置。
确定已上传文件大小后,把该断点信息保存到数据库的断点信息表中。该表包含文件名称,文件标识,已传文件大小(断点),文件总大小等关键信息。
获取断点:
(1)客户端获取断点。
基于浏览器请求后服务端的响应机制,客户端获取服务端返回的已上传文件的大小。
(2)比对文件大小
客户端获取服务端文件大小后与源文件大小进行比对。如果文件大小相等则提示文件已存在。如果已上传文件小于源文件大小则发起文件剩余部分的上传请求。该剩余部分上传的文件流依据断点位置,精确至流字节的长度。
续传文件流:
(1)上传文件流
服务端响应客户端续传请求,基于断点追加已上传文件的剩余文件流部分(精确至字节)。
(2)更新断点信息
文件流成功续传至服务端后,把已接收到整体文件大小更新至数据库断点信息表中。
获取上传结果:
(1)服务端依据交互协议返回客户端上传结果标识,客户端接收结果标识并给出结果提示。
本发明基于浏览器的文件断点续传方法,一方面对于网络中断情况下可及时定位断点所处位置,精确到文件流的字节粒度,节约了文件续传中的网络流量。另一方面,针对获取到的断点信息进行持久化到数据库的操作,避免断点信息在非持久化环境中的意外丢失。在文件传输意外中断的情况下,该种方法不仅节省了文件的上传时间和网络资源而且保证了文件续传的准确及稳定性。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种基于浏览器的文件断点续传方法,其特征在于,
含如下五个方面:
客户端发起文件上传请求;
确定并保存断点位置;
获取文件断点;
续传文件流;
获取上传结果。
2.根据权利要求1所述的方法,其特征在于,
客户端发起文件上传请求:在客户端服务器模式下,基于浏览器发起文件上传请求及文件检查请求。
3.根据权利要求1所述的方法,其特征在于,
确定并保存断点位置:对上传文件进行MD5加密获取文件的唯一标识,MD5加密中包含文件名称、文件大小、文件类型、文件时间戳信息。
4.根据权利要求3所述的方法,其特征在于,
基于获取的文件标识,通过查询数据库获取文件是否存在的结果,如存在则返回已上传文件的大小即确定断点位置并把该断点信息记录到数据库中。
5.根据权利要求4所述的方法,其特征在于,
获取文件断点:客户端获取服务端返回的已上传文件的大小(断点),并与源文件大小进行比对。
6.根据权利要求5所述的方法,其特征在于,
如果已上传文件小于源文件大小则发起文件剩余部分的上传请求,该剩余部分上传的文件流依据断点位置,精确至流字节的长度。
7.根据权利要求6所述的方法,其特征在于,
续传文件流:服务端响应客户端续传请求,并追加已上传文件的剩余文件流部分。
8.根据权利要求7所述的方法,其特征在于,
获取上传结果:服务端依据交互协议返回客户端上传结果标识,客户端接收结果标识并给出结果提示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210543888.8A CN114979118A (zh) | 2022-05-19 | 2022-05-19 | 一种基于浏览器的文件断点续传方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210543888.8A CN114979118A (zh) | 2022-05-19 | 2022-05-19 | 一种基于浏览器的文件断点续传方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114979118A true CN114979118A (zh) | 2022-08-30 |
Family
ID=82985755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210543888.8A Pending CN114979118A (zh) | 2022-05-19 | 2022-05-19 | 一种基于浏览器的文件断点续传方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114979118A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108401012A (zh) * | 2018-01-31 | 2018-08-14 | 山东汇贸电子口岸有限公司 | 一种文件断点续传方法 |
-
2022
- 2022-05-19 CN CN202210543888.8A patent/CN114979118A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108401012A (zh) * | 2018-01-31 | 2018-08-14 | 山东汇贸电子口岸有限公司 | 一种文件断点续传方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021121370A1 (zh) | 用于消息队列的消息丢失检测方法和装置 | |
WO2017114205A1 (zh) | 短链接处理方法、装置及服务器 | |
CN102340554B (zh) | 一种域名系统dns 的最优应用服务器选取方法和装置 | |
WO2020253083A1 (zh) | 主备存储卷同步数据校验方法、装置、设备及存储介质 | |
US8028056B1 (en) | Server monitoring framework | |
US7437479B2 (en) | Position identifier management apparatus and method, mobile computer, and position identifier processing method | |
US20150237113A1 (en) | Method and system for file transmission | |
CN104065761A (zh) | 应用服务器选取方法和网络连接方法 | |
CN112822256B (zh) | 一种行情文件转数据流传输的方法及装置 | |
CN103957283A (zh) | 一种域名系统dns的最优应用服务器选取方法和装置 | |
WO2012139474A1 (zh) | 数据的获取方法、设备和系统 | |
CN111600945B (zh) | 一种基于块传输的ftp服务器断点下载方法及装置 | |
CN110990335A (zh) | 日志归档方法、装置、设备及计算机可读存储介质 | |
US7565399B1 (en) | Caching web objects transformed by a pipeline of adaptation services | |
WO2019196225A1 (zh) | 一种反馈资源文件的方法和装置 | |
CN114979118A (zh) | 一种基于浏览器的文件断点续传方法 | |
TW201308946A (zh) | 一種斷點續傳的方法 | |
CN116614495A (zh) | 数据上传方法、装置、设备、存储介质及程序产品 | |
JP3141988B2 (ja) | 計算機システムにおける問題解析方式 | |
CN104065613A (zh) | 一种应用的离线操作数据的同步方法、系统及装置 | |
CN105354499A (zh) | 一种病毒的查杀方法与装置 | |
CN101340463B (zh) | 一种确定网络资源类型的方法和装置 | |
JP2007200271A (ja) | コンテンツ・ネットワークにおいてマルチメディア・コンテンツを検索するシステム及びその検索方法 | |
JP2006343848A (ja) | 作業実績管理装置 | |
CN113872994A (zh) | 组织架构同步方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |