CN117459525B - 文件上传方法、装置、设备和介质 - Google Patents
文件上传方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN117459525B CN117459525B CN202311771634.2A CN202311771634A CN117459525B CN 117459525 B CN117459525 B CN 117459525B CN 202311771634 A CN202311771634 A CN 202311771634A CN 117459525 B CN117459525 B CN 117459525B
- Authority
- CN
- China
- Prior art keywords
- data block
- file
- uploaded
- uploading
- data blocks
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004806 packaging method and process Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 21
- 238000005538 encapsulation Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 13
- 230000004044 response Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种文件上传方法、装置、设备和介质,属于计算机技术领域,该方法应用于浏览器,该方法包括响应于第一待上传文件的上传指令,对所述第一待上传文件进行划分,得到第一数量的数据块;对每个所述数据块进行上传请求封装,得到所述第一数量的封装数据块;将所述第一数量的封装数据块进行分组,得到第二数量的数据块组,其中,所述第一数量大于或等于所述第二数量;逐一上传所述第二数量的数据块组,直至所述第二数量的数据块组均上传完成。以解决现有技术中排序靠后的文件上传请求超时的问题。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种文件上传方法、装置、设备和介质。
背景技术
文件上传功能是万维网前端具有的一项重要功能,用户在使用万维网前端的时候,经常需要通过万维网前端向后端服务器上传文件。
目前万维网前端在向后端服务器上传文件时,在待上传文件分割的数据块数量较多的情况下,通常是将各数据块并行上传,如此万维网前端发起的网络请求数量会超过浏览器同域请求上限,而超过浏览器同域请求上限的请求需等待前面的请求完成后才真正开始,如此后面等待上传的数据块对应的请求的等待时间过长,进而容易导致排序靠后的请求超时。
发明内容
鉴于上述问题,本申请提供一种文件上传方法、装置、设备和介质,以解决现有技术中排序靠后的文件上传请求超时的问题。
第一方面,本申请实施例提供了一种文件上传方法,该方法应用于浏览器,其包括:响应于第一待上传文件的上传指令,根据预先设置的所述浏览器允许的待上传文件的文件容量阈值,对所述第一待上传文件进行划分,得到第一数量的数据块,其中,每个所述数据块的容量小于或等于所述文件容量阈值;对每个数据块进行上传请求封装,得到第一数量的封装数据块;将第一数量的封装数据块进行分组,得到第二数量的数据块组,其中,第一数量大于或等于第二数量;逐一上传第二数量的数据块组,直至第二数量的数据块组均上传完成,其中,在第二数量的数据块组中的前一数据组块上传的情况下,前一数据块组的下一数据块组不会发送上传请求。
在上述技术方案中,通过响应于第一待上传文件的上传指令,根据预先设置的浏览器允许的待上传文件的文件容量阈值,对第一待上传文件进行划分,得到第一数量的数据块,然后就对每个数据块进行上传请求封装,得到第一数量的封装数据块,将第一数量的封装数据块进行分组,得到第二数量的数据块组,然后逐一上传第二数量的数据块组,直至第二数量的数据块组均上传完成,如此逐一上传第二数量的数据块组,进而在当前数据块组上传时,下一数据块组不会发送上传请求,故而不会导致下一数据块组中的各数据块上传请求超时。
在一些实施例中,逐一上传第二数量的数据块组,直至第二数量的数据块组均上传完成,包括:循环执行下述步骤,直至第二数量的数据块组均上传完成:上传第i个数据块组中的封装数据块,i小于或等于第二数量,且i为正整数;接收服务器返回的第i个数据块组中的封装数据块均上传完成的第一指令;基于第一指令,上传第i+1个数据块组中的封装数据块。
在上述技术方案中,通过上传第i个数据块组中的封装数据块,然后在接收服务器返回的第i个数据块组中的封装数据块均上传完成的第一指令的情况下,基于第一指令,上传第i+1个数据块组中的封装数据块,如此在第i个数据块组中的封装数据块均上传完成后,才上传第i+1个数据块组中的封装数据块,即第i+1个数据块组中的封装数据块的上传响应时长是从第i+1个数据块组中的封装数据块开始上传开始的,在第i个数据块组中的封装数据块上传时,第i+1个数据块组中的封装数据块的上传响应时间并未开始计时,如此避免了第i+1个数据块组中的封装数据块请求超时的问题。同时在服务器接收到第i个数据块组中的所有封装数据块后,可向浏览器发送第一指令,浏览器基于该第一指令可继续自动上传第i+1个数据块组中的封装数据块,如此无需用户多次操作来上传所有的数据块组中的封装数据块,简化了用户操作。
在一些实施例中,第i个数据块组中包括第三数量的封装数据块,上传第i个数据块组中的封装数据块,包括:监听第i个数据块组对应的文件上传请求的数量;在确定监听到数量为第三数量的情况下,上传第i个数据块组中的封装数据块。
在上述技术方案中,通过监听第i个数据块组对应的文件上传请求的数量,在确定监听到数量为第三数量的情况下,上传第i个数据块组中的封装数据块,如此可通过监听第i个数据块组对应的文件上传请求的数量来精确确定第i个数据块组中的封装数据块的上传时间,进而可根据该上传时间来上传第i个数据块组中的封装数据块,提升了第i个数据块组中的封装数据块的上传效率。
在一些实施例中,每个数据块组包括数据块组标识;在监听第i个数据块组对应的文件上传请求的数量之前,方法还包括:在监听到第i个数据块组对应的数据块组标识的情况下,获取第i个数据块组中包含的封装数据块的数量。
在上述技术方案中,在监听到第i个数据块组对应的数据块组标识的情况下,获取第i个数据块组中包含的封装数据块的数量,如此通过监听第i个数据块组对应的数据块组标识,可精确确定获取第i个数据块组中包含的封装数据块的数量的时间,进而可根据该时间来获取第i个数据块组中包含的封装数据块的数量,提升了第i个数据块组中包含的封装数据块的数量的获取效率。
在一些实施例中,对每个数据块进行上传请求封装,得到第一数量的封装数据块,包括:对每个数据块进行异步JavaScript和可扩展标记语言ajax上传请求封装,得到第一数量的封装数据块。
在上述技术方案中,通过对每个数据块进行异步JavaScript和可扩展标记语言ajax上传请求封装,如此可精确得到第一数量的封装数据块,进而基于该异步JavaScript和可扩展标记语言ajax上传请求封装将各数据块通过浏览器上传至服务器。
在一些实施例中,对每个数据块进行异步JavaScript和可扩展标记语言ajax上传请求封装,得到第一数量的封装数据块,包括:获取预先设置的文件上传请求函数;将文件上传请求函数与每个数据块对应的数据块标识进行封装,得到第一数量的封装数据块。
在上述技术方案中,通过将获取的预先设置的文件上传请求函数与每个数据块对应的数据块标识进行封装,可精确得到第一数量的封装数据块。
在一些实施例中,将第一数量的封装数据块进行分组,得到第二数量的数据块组,包括:根据浏览器允许的同时上传的待上传文件的数量阈值,将第一数量的封装数据块进行分组,得到第二数量的数据块组,其中,M小于或等于数量阈值。
在上述技术方案中,通过根据浏览器允许的同时上传的待上传文件的数量阈值,如此可将第一数量的封装数据块进行精确分组,得到第二数量的数据块组,确保每个数据块组中所包含的封装数据块的数量不大于浏览器允许的同时上传的文件的数量阈值,如此可确保在后续上传数据块组时,数据块组可成功通过浏览器上传至服务器。
在一些实施例中,数量阈值基于浏览器的属性信息和浏览器所采用的通信协议确定,其中,浏览器的属性信息包括下述至少一项:浏览器的类型、浏览器的版本。
在上述技术方案中,通过根据浏览器的属性信息和浏览器所采用的通讯协议确定数量阈值,避免上传的文件的数量超过数量阈值,导致文件无法成功上传的问题。
在一些实施例中,第一待上传文件的文件容量大于预设容量阈值。
在上述技术方案中,第一待上传文件的文件容量大于或等于预设容量阈值,如此在对第一待上传文件进行上传时,可避免排序靠后的数据块上传请求超时的问题。
第二方面,本申请实施例提供了一种文件上传装置,该装置应用于浏览器,该装置包括:划分模块,用于响应于第一待上传文件的上传指令,根据预先设置的所述浏览器允许的待上传文件的文件容量阈值,对所述第一待上传文件进行划分,得到第一数量的数据块,其中,每个所述数据块的容量小于或等于所述文件容量阈值;封装模块,用于对每个数据块进行上传请求封装,得到第一数量的封装数据块;分组模块,用于将第一数量的封装数据块进行分组,得到第二数量的数据块组,其中,第一数量大于或等于第二数量;上传模块,用于逐一上传第二数量的数据块组,直至第二数量的数据块组均上传完成,其中,在第二数量的数据块组中的前一数据组块上传的情况下,前一数据块组的下一数据块组不会发送上传请求。
在上述技术方案中,通过响应于第一待上传文件的上传指令,根据预先设置的浏览器允许的待上传文件的文件容量阈值,对第一待上传文件进行划分,得到第一数量的数据块,然后就对每个数据块进行上传请求封装,得到第一数量的封装数据块,将第一数量的封装数据块进行分组,得到第二数量的数据块组,然后逐一上传第二数量的数据块组,直至第二数量的数据块组均上传完成,如此逐一上传第二数量的数据块组,进而在当前数据块组上传时,下一数据块组不会发送上传请求,故而不会导致下一数据块组中的各数据块上传请求超时。
第三方面,本申请实施例提供了一种电子设备,包括处理器,存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现第一方面的任一项实施例中所示的文件上传方法。
第四方面,本申请实施例提供了一种可读存储介质,该可读存储介质上存储程序或指令,程序或指令被处理器执行时实现第一方面的任一项实施例中所示的文件上传方法。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本申请一些实施例提供的一种文件上传方法的流程示意图之一;
图2是本申请一些实施例提供的一种文件上传方法的流程示意图之二;
图3是本申请一些实施例提供的一种文件上传方法的流程示意图之三;
图4是本申请一些实施例提供的一种文件上传装置的结构示意图;
图5是本申请一些实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
需要注意的是,除非另有说明,本申请实施例使用的技术术语或者科学术语应当为本申请实施例所属领域技术人员所理解的通常意义。
此外,技术术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在本申请实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在介绍本申请实施例的技术方案之前,首先介绍一下本申请实施例的背景技术:
目前万维网前端在向后端服务器上传文件时,在待上传文件分割的数据块数量较多的情况下,通常是将各数据块并行上传,如此万维网前端发起的网络请求数量会超过浏览器同域请求上限,而超过浏览器同域请求上限的请求需等待前面的请求完成后才真正开始,如此后面等待上传的数据块对应的请求的等待时间过长,进而容易导致排序靠后的请求超时。
在一个示例中,浏览器同域请求上限是5个网络请求,即浏览器一次只能并行上传5个数据块,如果当下一共有10个数据块(比如可以是数据块1、数据块2、……、数据块10),则浏览器响应于用户请求上传这10个数据块的上传请求后,比如可以是用户在浏览器中点击了“上传”控件,并选择了这10个数据块后,此时这10个数据块已经开始请求上传,即这10个数据块的响应于时长开始计时,由于浏览器同域请求上限是5个网络请求,则浏览器会从10个数据块中选取其中的5个数据块(比如是数据块1-数据块5)先并行上传,然后待这数据块1-数据块5中有数据块上传完成后,再从剩下的数据块6-数据块10中选取一个数据块(比如数据块6)继续上传,如此一直确保同时上传的数据块的数量为5个即可,直至这10个数据块都上传完成。由于从用户点击了“上传”控件,并选择了这10个数据块后,浏览器就已经开始对这10个数据块进行计时,如此在最后一个数据块上传完成后,可能该最后一个数据块的等待时间过长,如此导致靠后的数据块的请求超时。
为了解决上述问题,本申请实施例提供了一种文件上传方法、装置、设备和介质,通过响应于第一待上传文件的上传指令,根据预先设置的浏览器允许的待上传文件的文件容量阈值,对第一待上传文件进行划分,得到第一数量的数据块,然后就对每个数据块进行上传请求封装,得到第一数量的封装数据块,将第一数量的封装数据块进行分组,得到第二数量的数据块组,然后逐一上传第二数量的数据块组,直至第二数量的数据块组均上传完成,如此逐一上传第二数量的数据块组,进而在当前数据块组上传时,下一数据块组不会发送上传请求,故而不会导致下一数据块组中的各数据块的上传请求超时。
下面结合图1对本申请实施例提供的文件上传方法进行详细说明。
图1示出了本申请一个实施例提供的一种文件上传方法的流程示意图之一,需要说明的是,该文件上传方法可以应用于浏览器,该文件上传方法具体可以包括S110-S140。
S110、响应于第一待上传文件的上传指令,根据预先设置的浏览器允许的待上传文件的文件容量阈值,对第一待上传文件进行划分,得到第一数量的数据块。
其中,第一待上传文件可以是待从浏览器上传至后台服务器的文件。该第一待上传文件可以但不限于是文档文件、图片文件、视频文件等。
在一些实施例中,第一待上传文件的文件容量大于或等于预设容量阈值。这里的预设容量阈值可以是预先设置的第一待上传文件的文件容量阈值,该预设容量阈值可根据用户需求自行设置,在本申请实施例中不做限定。
需要说明的是,该第一待上传文件可以是容量较大的一个文件,即预设容量阈值可以是一个较大的容量阈值,例如可以是100G,即第一待上传文件可以是大于或等于100G的一个文件。该第一待上传文件可以是由多个容量较小的文件组成的一个容量较大的文件,也可以是一个容量较大的文件。
在一些实施例中,第一待上传文件的文件容量大于或等于预设容量阈值,如此可确保该第一待上传文件是一个大文件容量的文件,因为如果第一待上传文件的文件容量较小,比如只有几十兆的话,那在实际上传该第一待上传文件时,其采用本申请的方式进行上传与背景技术中的方式上传所用的时长是差不多的,故本申请实施例中的第一待上传文件是针对的大文件容量的文件,比如上百G的文件。
上传指令可以是将第一待上传文件进行上传的指令,该指令可以是响应于用户对第一待上传文件的上传操作生成的,这里的用户对第一待上传文件的上传操作例如可以用户在浏览器中点击“上传”控件,然后选择第一待上传文件。
在本申请的实施例中,第一待上传文件的文件容量大于或等于预设容量阈值,如此在对第一待上传文件进行上传时,可避免排序靠后的数据块上传请求超时的问题。
第一数量可以是第一待上传文件被分割为数据块的数量,该数量也是比较大的一个数量,比如第一数量可以是500。
在一些实施例中,一个数据块中可以是包含有第一待上传文件的一部分内容。
待上传文件可以是利用浏览器上传的文件。
浏览器允许的待上传文件的文件容量阈值可以是浏览器允许上传为文件的容量阈值,比如浏览器允许一次上传10M的文件,则这里的文件容量阈值即为10M。
需要说明的是,这里的文件容量阈值可以是基于浏览器的属性信息和浏览器所采用的通讯协议确定的,这里的浏览器的属性信息可以包括下述至少一项:浏览器的类型、浏览器的版本。也就是说,不同类型的浏览器允许待上传文件的文件容量阈值是不同的,同一类型但不同版本的浏览器允许待上传文件的文件容量阈值是不同的,同一类型、同一版本但不同通信协议的浏览器允许待上传文件的文件容量阈值是不同的。
在一些实施例中,在根据预先设置的浏览器允许的待上传文件的文件容量阈值,对第一待上传文件进行划分时,可以是根据文件容量阈值对第一待上传文件进行平均划分,即每个数据块的容量均为文件容量阈值,然后如果划分完后,第一待上传文件最后剩下的未被划分的容量小于文件容量阈值,则将剩下的容量的文件作为一个数据块即可。
在另一些实施例中,在根据预先设置的浏览器允许的待上传文件的文件容量阈值,对第一待上传文件进行划分时,也可以是不将第一待上传文件根据文件容量阈值进行平均划分,而是根据用户需求自行划分,即每个数据块的容量可以不完全相同,只要每个数据块的容量小于或等于文件容量阈值即可。即在本申请的实施例中,每个数据块的容量小于或等于文件容量阈值。
在一个示例中,以第一待上传文件为100G,浏览器允许的待上传文件的文件容量阈值为1G,根据预先设置的浏览器允许的待上传文件的文件容量阈值,对第一待上传文件进行划分时,是按照文件容量阈值对第一待上传文件进行平均划分为例,该第一待上传文件被划分为100个数据块,每个数据块的容量为1G。
在本申请的实施例中,通过根据预先设置的浏览器允许的待上传文件的文件容量阈值,对第一待上传文件进行划分,如此可对第一待上传文件进行精确划分,确保每个数据块的容量不大于文件容量阈值,如此可确保在后续上传数据块时,数据块可成功通过浏览器上传至服务器。
S120、对每个数据块进行上传请求封装,得到第一数量的封装数据块。
其中,上传请求封装可以是将数据块进行上传请求的封装,具体的可以是将数据块封装为浏览器所能接受的请求。
可以理解的是,在将文件通过浏览器上传至服务器时,需要将文件封装为请求的形式,如此将封装后的文件通过浏览器上传至服务器。
封装数据块可以是对数据块进行上传请求封装后所得到的数据块。
在一些实施例中,在对每个数据块进行上传请求封装时,可以是通过如下方式来进行:
S120具体可以包括:
对每个数据块进行异步JavaScript和可扩展标记语言ajax上传请求封装,得到第一数量的封装数据块。
在一些实施例中,针对每个数据块,可以是对该数据块进行异步JavaScript和可扩展标记语言(Asynchronous Javascript And XML,ajax)上传请求封装,得到封装数据块。
需要说明的是,针对不同的浏览器,其所要进行的上传请求封装类型可能不同,比如,针对有些浏览器,可能需要将数据块封装为其他形式的上传请求。具体的将数据块封装为何种形式的上传请求,可根据具体的需求自行选取,在本申请实施例中不做限定。
在本申请的实施例中,通过对每个数据块进行ajax上传请求封装,如此可精确得到第一数量的封装数据块,进而基于该ajax上传请求封装将各数据块通过浏览器上传至服务器。
在一些实施例中,为了精确得到第一数量的封装数据块,所述对每个数据块进行ajax上传请求封装,得到第一数量的封装数据块,具体可以包括:
获取预先设置的文件上传请求函数;
将文件上传请求函数与每个数据块对应的数据块标识进行封装,得到第一数量的封装数据块。
其中,文件上传请求函数可以是预先设置的将文件通过浏览器上传至服务器的上传函数,该文件上传请求函数可以是程序人员预先编制好的。
在一些实施例中,在将文件上传请求函数与每个数据块对应的数据块标识进行封装时,可以是将每个数据块对应的数据块标识赋值给文件上传请求函数中用于表征待上传的文件的参数,如此即可将文件上传请求函数与每个数据块对应的数据块标识进行封装,得到第一数量的封装数据块。
在本申请的实施例中,通过将获取的预先设置的文件上传请求函数与每个数据块对应的数据块标识进行封装,可精确得到第一数量的封装数据块。
S130、将第一数量的封装数据块进行分组,得到第二数量的数据块组。
其中,第二数量可以是将第一数量的封装数据块进行分组后,得到的数据块组的数量。该第一数量大于或等于第二数量。
在一些实施例中,为了提升第一待上传文件的上传效率,可以将第一数量的封装数据块进行分组,得到第二数量的数据块组,然后将数据块组进行上传,如此减少上传的文件数量。
在一些实施例中,为了精确得到第二数量的数据块组,S130具体可以包括:
根据浏览器允许的同时上传的待上传文件的数量阈值,将第一数量的封装数据块进行分组,得到第二数量的数据块组。
其中,数据阈值可以是浏览器允许的同时上传的待上传文件的数量。比如,浏览器允许同时上传5个文件,则这里的数量阈值为5。这里的数量阈值大于或等于第二数量。
需要说明的是,这里的数量阈值可以是基于浏览器的属性信息和浏览器所采用的通讯协议确定的,这里的浏览器的属性信息可以包括下述至少一项:浏览器的类型、浏览器的版本。也就是说,不同类型的浏览器允许同时上传的待上传文件的数量阈值是不同的,同一类型但不同版本的浏览器允许同时上传的待上传文件的数量阈值是不同的,同一类型、同一版本但不同通信协议的浏览器允许同时上传的待上传文件的数量阈值是不同的。如此可根据浏览器的属性信息和浏览器所采用的通讯协议确定数量阈值,避免上传的文件的数量超过数量阈值,导致文件无法成功上传的问题。
在一个示例中,如下表1所示,例举了部分浏览器对应的数量阈值。
需要说明的是,表1中仅为部分浏览器对应的数量阈值的一个示例,并非限定。
表1
在一些实施例中,在根据浏览器允许的同时上传的待上传文件的数量阈值,将第一数量的封装数据块进行分组时,可以是根据数量阈值对第一数量的封装数据块进行平均划分,即每个数据块组中所包含的封装数量的数量相等,均为数量阈值,然后如果划分完后,第一数量的封装数据块最后剩下的未被划分的封装数据块的数量小于数量阈值,则将剩下的未被划分的封装数据块作为一个数据块组即可。
在另一些实施例中,在根据浏览器允许的同时上传的待上传文件的数量阈值,将第一数量的封装数据块进行分组时,也可以是不将第一数量的封装数据块按照数量阈值进行平均划分,而是根据用户需求自行划分,即每个数据块组中所包含的封装数据块的数量可以是不同的,只要每个数据块组中所包含的封装数据块的数量小于或等于数量阈值即可。
继续参考上述示例,第一待上传文件被划分为了100个数据块,将这100个数据块进行上传请求封装后,得到100个封装数据块,以浏览器允许的同时上传的待上传文件的数量阈值为20个,对100个封装数据块划分数据块组时是根据数据阈值进行平均划分的为例,这100个封装数据块被划分为5个数据块组,每个数据块组中包含20个封装数据块。
在本申请的实施例中,通过根据浏览器允许的同时上传的待上传文件的数量阈值,如此可将第一数量的封装数据块进行精确分组,得到第二数量的数据块组,确保每个数据块组中所包含的封装数据块的数量不大于浏览器允许的同时上传的文件的数量阈值,如此可确保在后续上传数据块组时,数据块组可成功通过浏览器上传至服务器。
S140、逐一上传第二数量的数据块组,直至第二数量的数据块组均上传完成。
在一些实施例中,在得到第二数量的数据块组后,可逐一上传第二数量的数量块组,直至第二数量的数据块组均上传完成。需要说明的是,在上传第二数量的数据块组时,在第二数量的数据块组中的前一数据组块上传的情况下,前一数据块组的下一数据块组不会发送上传请求。
在一些实施例中,为了进一步缩小第一待上传文件的上传响应时长,如图2所示,S140具体可以包括:
循环执行下述S1401-S1403,直至第二数量的数据块组均上传完成:
S1401、上传第i个数据块组中的封装数据块。
其中,i小于或等于第二数量,且i为正整数。
在一些实施例中,可以从第一个数据块组开始进行上传,上传第一个数据块组中的封装数据块,即这里的i的初始值为1。
在一个示例中,可以是用户在浏览器中点击“上传”控件,然后选择所有的数据块组,浏览器响应于该上传请求后,可根据数据块组的数量,先上传第一个数据块组的封装数据块。
S1402、接收服务器返回的第i个数据块组中的封装数据块均上传完成的第一指令。
其中,第一指令可以是用于指示第i个数据块组中的封装数据块均上传完成的指令,该第一指令可以是有服务器生成并发送给浏览器的。
在一些实施例中,在浏览器将第i个数据块组中的封装数据块上传给服务器后,在服务器接收到第i个数据块组中的所有封装数据块后,可生成第一指令,并将第一指令发送至浏览器。
S1403、基于第一指令,上传第i+1个数据块组中的封装数据块。
在一些实施例中,在浏览器确定接收到第一指令后,可继续上传第i+1个数据块组中的封装数据块,直至所有的数据块组中的封装数据块均上传完成,无需用户再次选择“上传”控件来上传第i+1个数据块组中的封装数据块,即用户仅需在最开始上传文件的时候点击一次“上传”控件即可。
在本申请的实施例中,通过上传第i个数据块组中的封装数据块,然后在接收服务器返回的第i个数据块组中的封装数据块均上传完成的第一指令的情况下,基于第一指令,上传第i+1个数据块组中的封装数据块,如此在第i个数据块组中的封装数据块均上传完成后,才上传第i+1个数据块组中的封装数据块,即第i+1个数据块组中的封装数据块的上传响应时长是从第i+1个数据块组中的封装数据块开始上传开始的,在第i个数据块组中的封装数据块上传时,第i+1个数据块组中的封装数据块的上传响应时间并未开始计时,如此避免了第i+1个数据块组中的封装数据块请求超时的问题。同时在服务器接收到第i个数据块组中的所有封装数据块后,可向浏览器发送第一指令,浏览器基于该第一指令可继续自动上传第i+1个数据块组中的封装数据块,如此无需用户多次操作来上传所有的数据块组中的封装数据块,简化了用户操作。
在一些实施例中,第i个数据块组中包括第三数量的封装数据块,这里的第三数量为第i个数据块组中所包含的封装数据块的数量。
参考图3,S1401,具体可以包括:
S14011、监听第i个数据块组对应的文件上传请求的数量。
S14012、在确定监听到数量为第三数量的情况下,上传第i个数据块组中的封装数据块。
在一些实施例中,在用户在浏览器中点击了“上传”控件后,浏览器可监听第i个数据块组对应的文件上传请求的数量,在确定监听到数量为第三数量的情况下,上传第i个数据块组中的封装数据块。
在一个示例中,以i=1,第三数量为20为例,在用户在浏览器中点击了“上传”控件后,浏览器可监听接收到的第一个数据块组中的封装数据块的数量,在确定接收到20个封装数据块的情况下,可确定浏览器已接收到第一个数据块组中的所有的封装数据块,如此即可开始对第i个数据块组中的封装数据块进行上传。
在本申请的实施例中,通过监听第i个数据块组对应的文件上传请求的数量,在确定监听到数量为第三数量的情况下,上传第i个数据块组中的封装数据块,如此可通过监听第i个数据块组对应的文件上传请求的数量来精确确定第i个数据块组中的封装数据块的上传时间,进而可根据该上传时间来上传第i个数据块组中的封装数据块,提升了第i个数据块组中的封装数据块的上传效率。
在一些实施例中,每个数据块组均有其对应的数据块标识,例如可以是该数据块组的编码等。比如,在将第一数量的封装数据块划分为第二数量的数据块组后,可对每个数据块组进行编号,每个编号对应一个数据块组。
在S14011之前,上述所涉及的方法还可以包括:
在监听到第i个数据块组对应的数据块组标识的情况下,获取第i个数据块组中包含的封装数据块的数量。
在一些实施例中,在获取第i个数据块组中包含的封装数据块的数量之前,首先要监听到第i个数据块组对应的数据块组标识,若监听到第i个数据块组对应的数据块组标识,则说明要准备上传第i个数据块组,然后获取第i个数据块组中包含的封装数据块的数量。
继续参考上述示例,以数据块组标识为数据块组的编号,i=1,第三数量为20为例,在用户在浏览器中点击了“上传”控件后,浏览器可监听接收到的数据块组标识,若监听到数据块组标识“1”,则证明此时要开始上传第一个数据块组中的封装数据块,然后浏览器可监听接收到的第一个数据块组中的封装数据块的数量,在确定接收到20个封装数据块的情况下,可确定浏览器已接收到第一个数据块组中的所有的封装数据块,如此即可开始对第i个数据块组中的封装数据块进行上传。
在本申请的实施例中,在监听到第i个数据块组对应的数据块组标识的情况下,获取第i个数据块组中包含的封装数据块的数量,如此通过监听第i个数据块组对应的数据块组标识,可精确确定获取第i个数据块组中包含的封装数据块的数量的时间,进而可根据该时间来获取第i个数据块组中包含的封装数据块的数量,提升了第i个数据块组中包含的封装数据块的数量的获取效率。
基于相同的发明构思,本申请实施例还提供了一种文件上传装置。下面结合图4对本申请实施例提供的文件上传装置进行详细说明。
图4示出了本申请一个实施例提供的一种文件上传装置的结构示意图。该文件上传装置可以应用于浏览器。如图4所示,该文件上传装置可以包括:
划分模块410,用于响应于第一待上传文件的上传指令,根据预先设置的所述浏览器允许的待上传文件的文件容量阈值,对所述第一待上传文件进行划分,得到第一数量的数据块,其中,每个所述数据块的容量小于或等于所述文件容量阈值;
封装模块420,用于对每个所述数据块进行上传请求封装,得到第一数量的封装数据块;
分组模块430,用于将所述第一数量的封装数据块进行分组,得到第二数量的数据块组,其中,所述第一数量大于或等于所述第二数量;
上传模块440,用于逐一上传所述第二数量的数据块组,直至所述第二数量的数据块组均上传完成,其中,在所述第二数量的数据块组中的前一数据组块上传的情况下,所述前一数据块组的下一数据块组不会发送上传请求。
在上述技术方案中,通过响应于第一待上传文件的上传指令,根据预先设置的浏览器允许的待上传文件的文件容量阈值,对第一待上传文件进行划分,得到第一数量的数据块,然后就对每个数据块进行上传请求封装,得到第一数量的封装数据块,将第一数量的封装数据块进行分组,得到第二数量的数据块组,然后逐一上传第二数量的数据块组,直至第二数量的数据块组均上传完成,如此逐一上传第二数量的数据块组,进而在当前数据块组上传时,下一数据块组不会发送上传请求,故而不会导致下一数据块组中的各数据块的上传请求超时。
在一些实施例中,上传模块440具体可以用于:
循环执行下述步骤,直至所述第二数量的数据块组均上传完成:
上传第i个数据块组中的封装数据块,i小于或等于所述第二数量,且i为正整数;
接收服务器返回的所述第i个数据块组中的封装数据块均上传完成的第一指令;
基于所述第一指令,上传第i+1个数据块组中的封装数据块。
在一些实施例中,所述第i个数据块组中包括第三数量的封装数据块,
上传模块440具体可以用于:
监听所述第i个数据块组对应的文件上传请求的数量;
在确定监听到所述数量为所述第三数量的情况下,上传第i个数据块组中的封装数据块。
在一些实施例中,每个数据块组包括数据块组标识;
上传模块440具体还可以用于:
在监听到所述第i个数据块组对应的数据块组标识的情况下,获取所述第i个数据块组中包含的封装数据块的数量。
在一些实施例中,封装模块420具体用于:
对每个所述数据块进行异步JavaScript和可扩展标记语言ajax上传请求封装,得到第一数量的封装数据块。
在一些实施例中,封装模块420具体用于:
获取预先设置的文件上传请求函数;
将所述文件上传请求函数与每个数据块对应的数据块标识进行封装,得到所述第一数量的封装数据块。
在一些实施例中,划分模块410具体用于:
根据预先设置的所述浏览器允许的待上传文件的文件容量阈值,对所述第一待上传文件进行划分,得到第一数量的数据块,其中,每个所述数据块的容量小于或等于所述文件容量阈值。
在一些实施例中,分组模块430具体用于:
根据所述浏览器允许的同时上传的待上传文件的数量阈值,将所述第一数量的封装数据块进行分组,得到第二数量的数据块组,其中,所述第二数量小于或等于所述数量阈值。
在一些实施例中,所述数量阈值基于所述浏览器的属性信息和所述浏览器所采用的通信协议确定,其中,所述浏览器的属性信息包括下述至少一项:所述浏览器的类型、所述浏览器的版本。
在一些实施例中,所述第一待上传文件的文件容量大于或等于预设容量阈值。
图5示出了本申请一个实施例提供的一种电子设备的结构示意图。
如图5所示,该电子设备5能够实现根据本申请实施例中的文件上传方法和文件上传装置的电子设备的示例性硬件架构的结构图。该电子设备可以指代本申请实施例中的电子设备。
该电子设备5可以包括处理器501以及存储有计算机程序指令的存储器502。
具体地,上述处理器501可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器502可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器502可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关容灾设备的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。在特定实施例中,存储器502可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器502包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请的一方面的方法所描述的操作。
处理器501通过读取并执行存储器502中存储的计算机程序指令,以实现上述实施例中的任意一种文件上传方法。
在一个示例中,该电子设备还可包括通信接口503和总线504。其中,如图5所示,处理器501、存储器502、通信接口503通过总线504连接并完成相互间的通信。
通信接口503,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线504包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线504可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该电子设备可以执行本申请实施例中的文件上传方法,从而实现结合图1和图4描述的文件上传方法和装置。
另外,结合上述实施例中的文件上传方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种文件上传方法。
另外,结合上述实施例中的文件上传方法,本申请实施例可提供一种计算机程序产品来实现,该计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行上述实施例中的任意一种文件上传方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
虽然已经参考优选实施例对本申请进行了描述,但在不脱离本申请的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件,尤其是,只要不存在结构冲突,各个实施例中所提到的各项技术特征均可以任意方式组合起来。本申请并不局限于文中公开的特定实施例,而是包括落入权利要求的范围内的所有技术方案。
Claims (11)
1.一种文件上传方法,其特征在于,所述方法应用于浏览器,所述方法包括:
响应于第一待上传文件的上传指令,根据预先设置的所述浏览器允许的待上传文件的文件容量阈值,对所述第一待上传文件进行划分,得到第一数量的数据块,其中,每个所述数据块的容量小于或等于所述文件容量阈值;
对每个所述数据块进行上传请求封装,得到所述第一数量的封装数据块;
将所述第一数量的封装数据块进行分组,得到第二数量的数据块组,其中,所述第一数量大于或等于所述第二数量;
逐一上传所述第二数量的数据块组,直至所述第二数量的数据块组均上传完成,其中,在所述第二数量的数据块组中的前一数据块组上传的情况下,所述前一数据块组的下一数据块组不会发送上传请求;
所述将所述第一数量的封装数据块进行分组,得到第二数量的数据块组,包括:
根据所述浏览器允许的同时上传的待上传文件的数量阈值,将所述第一数量的封装数据块进行分组,得到第二数量的数据块组,其中,所述第二数量小于或等于所述数量阈值。
2.根据权利要求1所述的方法,其特征在于,所述逐一上传所述第二数量的数据块组,直至第二数量的数据块组均上传完成,包括:
循环执行下述步骤,直至所述第二数量的数据块组均上传完成:
上传第i个数据块组中的封装数据块,i小于或等于所述第二数量,且i为正整数;
接收服务器返回的所述第i个数据块组中的封装数据块均上传完成的第一指令;
基于所述第一指令,上传第i+1个数据块组中的封装数据块。
3.根据权利要求2所述的方法,其特征在于,所述第i个数据块组中包括第三数量的封装数据块,
所述上传第i个数据块组中的封装数据块,包括:
监听所述第i个数据块组对应的文件上传请求的数量;
在确定监听到所述数量为所述第三数量的情况下,上传第i个数据块组中的封装数据块。
4.根据权利要求3所述的方法,其特征在于,每个数据块组包括数据块组标识;
在所述监听所述第i个数据块组对应的文件上传请求的数量之前,所述方法还包括:
在监听到所述第i个数据块组对应的数据块组标识的情况下,获取所述第i个数据块组中包含的封装数据块的数量。
5.根据权利要求1所述的方法,其特征在于,所述对每个所述数据块进行上传请求封装,得到第一数量的封装数据块,包括:
对每个所述数据块进行异步JavaScript和可扩展标记语言ajax上传请求封装,得到第一数量的封装数据块。
6.根据权利要求5所述的方法,其特征在于,所述对每个所述数据块进行异步JavaScript和可扩展标记语言ajax上传请求封装,得到第一数量的封装数据块,包括:
获取预先设置的文件上传请求函数;
将所述文件上传请求函数与每个数据块对应的数据块标识进行封装,得到所述第一数量的封装数据块。
7.根据权利要求6所述的方法,其特征在于,所述数量阈值基于所述浏览器的属性信息和所述浏览器所采用的通信协议确定,其中,所述浏览器的属性信息包括下述至少一项:所述浏览器的类型、所述浏览器的版本。
8.根据权利要求1所述的方法,其特征在于,所述第一待上传文件的文件容量大于或等于预设容量阈值。
9.一种文件上传装置,其特征在于,所述装置应用于浏览器,所述装置包括:
划分模块,用于响应于第一待上传文件的上传指令,根据预先设置的所述浏览器允许的待上传文件的文件容量阈值,对所述第一待上传文件进行划分,得到第一数量的数据块,其中,每个所述数据块的容量小于或等于所述文件容量阈值;
封装模块,用于对每个所述数据块进行上传请求封装,得到第一数量的封装数据块;
分组模块,用于逐一将所述第一数量的封装数据块进行分组,得到第二数量的数据块组,其中,所述第一数量大于或等于所述第二数量;
上传模块,用于上传所述第二数量的数据块组,直至所述第二数量的数据块组均上传完成,其中,在所述第二数量的数据块组中的前一数据块组上传的情况下,所述前一数据块组的下一数据块组不会发送上传请求;
所述分组模块具体用于:根据所述浏览器允许的同时上传的待上传文件的数量阈值,将所述第一数量的封装数据块进行分组,得到第二数量的数据块组,其中,所述第二数量小于或等于所述数量阈值。
10.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-8任一所述的文件上传方法的步骤。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-8任一所述的文件上传方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311771634.2A CN117459525B (zh) | 2023-12-20 | 2023-12-20 | 文件上传方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311771634.2A CN117459525B (zh) | 2023-12-20 | 2023-12-20 | 文件上传方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117459525A CN117459525A (zh) | 2024-01-26 |
CN117459525B true CN117459525B (zh) | 2024-04-12 |
Family
ID=89582183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311771634.2A Active CN117459525B (zh) | 2023-12-20 | 2023-12-20 | 文件上传方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117459525B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473585B1 (en) * | 2012-06-26 | 2013-06-25 | Citrix Systems, Inc. | Multi-threaded optimization for data upload |
WO2015062494A1 (zh) * | 2013-10-29 | 2015-05-07 | 北京奇虎科技有限公司 | Sdk实现文件上传、下载的方法与装置 |
CN106302582A (zh) * | 2015-05-15 | 2017-01-04 | 深圳楼兰辉煌科技有限公司 | 基于车载设备的文件上传方法、车载设备、服务器及系统 |
CN106657197A (zh) * | 2015-11-02 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 文件上传的方法和装置 |
CN110278202A (zh) * | 2019-06-18 | 2019-09-24 | 南京科源信息技术有限公司 | 一种文件上传系统 |
CN112583904A (zh) * | 2020-12-04 | 2021-03-30 | 北京百度网讯科技有限公司 | 文件上传方法、装置、设备以及存储介质 |
WO2023160116A1 (zh) * | 2022-02-28 | 2023-08-31 | 华为技术有限公司 | 通信方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109327486B (zh) * | 2017-07-31 | 2022-01-14 | 西门子公司 | 上传数据至云平台的方法、系统及网关和机器可读介质 |
CN113411403B (zh) * | 2021-06-23 | 2021-12-14 | 北京邮电大学 | 一种快速数据同步方法及装置 |
-
2023
- 2023-12-20 CN CN202311771634.2A patent/CN117459525B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473585B1 (en) * | 2012-06-26 | 2013-06-25 | Citrix Systems, Inc. | Multi-threaded optimization for data upload |
WO2015062494A1 (zh) * | 2013-10-29 | 2015-05-07 | 北京奇虎科技有限公司 | Sdk实现文件上传、下载的方法与装置 |
CN106302582A (zh) * | 2015-05-15 | 2017-01-04 | 深圳楼兰辉煌科技有限公司 | 基于车载设备的文件上传方法、车载设备、服务器及系统 |
CN106657197A (zh) * | 2015-11-02 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 文件上传的方法和装置 |
CN110278202A (zh) * | 2019-06-18 | 2019-09-24 | 南京科源信息技术有限公司 | 一种文件上传系统 |
CN112583904A (zh) * | 2020-12-04 | 2021-03-30 | 北京百度网讯科技有限公司 | 文件上传方法、装置、设备以及存储介质 |
WO2023160116A1 (zh) * | 2022-02-28 | 2023-08-31 | 华为技术有限公司 | 通信方法和装置 |
Non-Patent Citations (2)
Title |
---|
云平台下基于FastDFS的文件管理系统的研究与实现;石珊;中国优秀硕士学位论文全文数据库 (信息科技辑);20200115;I138-624 * |
基于异步文件通道的Java Web多任务分块文件上传;陈冈;夏火松;;河南理工大学学报(自然科学版);20150611(第03期);第400-405页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117459525A (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109496418B (zh) | 文件下载方法、装置及设备/终端/服务器 | |
CN112416964A (zh) | 一种数据处理的方法、装置、系统、计算机设备及计算机可读存储介质 | |
CN112597138A (zh) | 数据去重方法、装置、计算机设备和计算机可读存储介质 | |
CN109063142B (zh) | 网页资源推送方法、服务器及存储介质 | |
CN111541521B (zh) | 一种数据包长度识别方法及系统 | |
CN112199935A (zh) | 数据的比对方法、装置、电子设备及计算机可读存储介质 | |
CN115407116A (zh) | 充电电流的确定方法及装置 | |
CN111966647A (zh) | 一种小文件的云存储方法、装置、服务器及存储介质 | |
CN117459525B (zh) | 文件上传方法、装置、设备和介质 | |
CN114070791A (zh) | 数据流量的限速处理方法及装置 | |
CN107613356A (zh) | 媒体和震动同步播放方法及装置、电子设备以及存储介质 | |
CN108833961B (zh) | 获取飞行记录数据的方法、服务器和系统 | |
CN112714365A (zh) | 视频播放方法和系统 | |
CN103501247A (zh) | 一种高并发请求处理方法及装置 | |
US10082956B2 (en) | Method and apparatus for downloading data including a progress bar indicating progress of downloading | |
CN107026888B (zh) | 大容量数据传送装置及方法 | |
CN111200640A (zh) | 基于客户端的上传方法以及客户端 | |
CN114070901B (zh) | 基于多数据对齐的数据发送和接收方法、装置和设备 | |
CN111724453A (zh) | 富文本渲染方法、装置、终端设备及计算机存储介质 | |
CN113746932A (zh) | 网络请求合并方法、装置及电子装置、计算机程序产品 | |
CN116414820A (zh) | 数据表的预处理方法、装置、电子设备及存储介质 | |
CN109033189B (zh) | 链路结构日志的压缩方法、装置、服务器及可读存储介质 | |
CN106649720B (zh) | 一种数据处理方法及服务器 | |
CN106341480B (zh) | 数据包的上传方法及装置 | |
CN115529303B (zh) | 一种适配Cobalt接口请求的方法、系统及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |