[发明专利]文件上传方法、装置、存储介质及电子设备有效
申请号: | 202010084991.1 | 申请日: | 2020-02-10 |
公开(公告)号: | CN111327694B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 辛洋汐 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | H04L67/06 | 分类号: | H04L67/06 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 宁立存 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 上传 方法 装置 存储 介质 电子设备 | ||
本公开关于一种文件上传方法、装置、存储介质及电子设备,属于互联网技术领域,方法包括:接收终端通过浏览器发送的文件上传请求;若文件上传请求中携带分片总数且分片总数大于第一阈值,则获取文件上传请求中携带的用户标识和当前上传的分片数据的分片标识,分片总数用于指示目标文件被分割处理为分片数据的数量,每个分片数据的大小不大于第二阈值;根据用户标识和当前上传的分片数据的分片标识,缓存当前上传的分片数据;循环执行上述接收文件上传请求并缓存相应的文件上传请求中携带的分片数据的步骤,直至已上传的分片数据的数量与分片总数一致。本公开避免了在上传大文件时可能出现的浏览器被卡死现象,提高了文件上传的成功率,效果较佳。
技术领域
本公开涉及互联网技术领域,尤其涉及一种文件上传方法、装置、存储介质及电子设备。
背景技术
用户对信息需求的爆炸式增长,为浏览器的诞生和兴起提供了强大的动力,即浏览器是互联网时代的产物,它联合作为服务端的网络服务器为用户提供服务,比如,用户可以通过浏览器向网络服务器上传文件。
示例性地,nodejs作为可以在服务端运行的脚本语言,目前被广泛地应用到网页开发中。即,网络服务器可以是以nodejs作为服务端开发语言的web(网络)平台。针对以nodejs作为服务端开发语言的web平台,终端在通过浏览器上传文件时,通常是直接上传整个文件。
然而,在通过浏览器上传大文件时,很可能会出现浏览器被卡死的现象,进而导致网络服务器无法接收数据,文件上传失败,因此该种文件上传方式的效果较差。
发明内容
本公开提供一种文件上传方法、装置、存储介质及电子设备,以至少解决相关技术中存在的在通过浏览器上传大文件时可能出现的浏览器被卡死现象,提高了文件上传的成功率,该种文件上传方式的效果较佳。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种文件上传方法,包括:
接收终端通过浏览器发送的文件上传请求;
若所述文件上传请求中携带分片总数且所述分片总数大于第一阈值,则获取所述文件上传请求中携带的用户标识和当前上传的分片数据的分片标识,所述分片总数用于指示目标文件被分割处理为分片数据的数量,每个分片数据的大小不大于第二阈值;
根据所述用户标识和当前上传的分片数据的分片标识,缓存当前上传的分片数据;
循环执行上述接收文件上传请求并缓存相应的文件上传请求中携带的分片数据的步骤,直至已上传的分片数据的数量与所述分片总数一致。
在一种可能的实现方式中,所述文件上传请求中还携带所述目标文件的文件标识;在已上传的分片数据的数量达到所述分片总数之后,还包括:
以所述目标文件的文件标识作为文件名称进行新文件创建;
循环读取已缓存的分片数据,并将读取到的分片数据写入到创建好的新文件中,直至读取完毕所述已缓存的分片数据;
若至少一个分片数据未被成功读取或未被成功写入到创建好的新文件中,则向所述终端返回第一通知消息;
若每个分片数据均被成功读取且均被成功写入到创建好的新文件中,则向所述终端返回第二通知消息。
在一种可能的实现方式中,在接收终端通过浏览器发送的文件上传请求之后,还包括:创建缓存文件数组;
所述根据所述用户标识和当前上传的分片数据的分片标识,缓存当前上传的分片数据,包括:
根据所述用户标识和当前上传的分片数据的分片标识,将当前上传的分片数据写入到所述缓存文件数组中。
在一种可能的实现方式中,各个分片数据以流数据的形式缓存在所述缓存文件数组中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010084991.1/2.html,转载请声明来源钻瓜专利网。