System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种支持多种格式大文件上传的方法、系统、设备及介质技术方案_技高网

一种支持多种格式大文件上传的方法、系统、设备及介质技术方案

技术编号:44808092 阅读:3 留言:0更新日期:2025-03-28 19:55
本发明专利技术提供了一种支持多种格式大文件上传的方法、系统、设备及介质,属于文件上传领域。所述方法包括:构建功能组件并编写大文件上传程序,所述功能组件包括分片组件、浏览器兼容组件和文件上传组件;执行编写大文件上传程序,调用分片组件基于大文件格式将大文件分割为多个分片,并根据运行环境动态调整分片大小;调用浏览器兼容组件检测浏览器支持功能,若浏览器支持功能满足要求,则将各个分片的格式转换为浏览器支持的格式文件;调用文件上传组件采用并行上传技术将格式转换后的多个分片上传到浏览器。本发明专利技术通过组件形式对各种类型文件进行上传,降低开发时间成本,提高开发效率和文件上传效率。

【技术实现步骤摘要】

本专利技术属于文件上传,更具体的说是涉及一种支持多种格式大文件上传的方法、系统、设备及介质


技术介绍

1、随着互联网技术的发展,在日常开发中,大文件上传是用户的一个常见需求。然而,文件的格式多种多样,文件不仅种类繁多,涵盖了文档(如pdf、word、excel)、图片(jpeg、png、gif、raw)、音频(mp3、wav)等多种格式,还可能因为用户使用的设备、操作系统及浏览器的不同而带来额外的兼容性问题。

2、在开发大文件上传功能时,由于不同浏览器对文件上传的处理机制存在差异,比如对文件类型识别的差异等,开发者往往需要针对不同的浏览器投入大量时间和精力来确保上传功能在所有浏览器上的稳定性和用户体验的一致性,严重影响开发效率。


技术实现思路

1、针对以上问题,本专利技术的目的在于提供一种支持多种格式大文件上传的方法、系统、设备及介质,通过组件形式对各种类型文件进行上传,降低开发时间成本,提高开发效率和文件上传效率。

2、本专利技术为实现上述目的,通过以下技术方案实现:

3、第一方面,本申请实施例提供一种支持多种格式大文件上传的方法,包括:

4、构建功能组件并编写大文件上传程序,所述功能组件包括分片组件、浏览器兼容组件和文件上传组件;

5、执行编写大文件上传程序,调用分片组件基于大文件格式将大文件分割为多个分片,并根据运行环境动态调整分片大小;

6、调用浏览器兼容组件检测浏览器支持功能,若浏览器支持功能满足要求,则将各个分片的格式转换为浏览器支持的格式文件;

7、调用文件上传组件采用并行上传技术将格式转换后的多个分片上传到浏览器。

8、在一个可选的实施方式中,调用分片组件基于大文件格式将大文件分割为多个分片,具体包括:

9、创建文件输入元素以允许用户选择待上传文件;

10、为文件输入元素添加事件监听器,当用于运行文件输入元素选择待上传文件时触发文件上传事件;

11、当文件上传事件被触发时,根据运行环境动态调整分片大小;

12、利用文件接口读取待上传文件;

13、根据分片大小和待上传文件大小计算分片数量;

14、调用与待上传文件格式适配的分片算法将待上传文件分割为分片数量个分片;

15、将每个分片存储到内存中。

16、在一个可选的实施方式中,根据运行环境动态调整分片大小,具体包括:

17、通过网络监测工具监测网络指标参数,包括带宽、延迟和丢包率;

18、根据网络指标参数分析当前网络状态,包括堵塞程度;

19、调取预设的网络状态与分片大小之间的映射关系;

20、根据映射关系确定当前网络状态对应的分片大小。

21、在一个可选的实施方式中,调用浏览器兼容组件检测浏览器支持功能,具体包括:

22、检测浏览器是否具有可用的文件上传功能;

23、检测浏览器是否支持双向通信功能;

24、若浏览器具有可用的文件上传功能且支持双向通信,则浏览器支持功能满足要求。

25、在一个可选的实施方式中,调用文件上传组件采用并行上传技术将格式转换后的多个分片上传到浏览器,具体包括:

26、调取预设的网络状态与并行数量之间的映射关系;

27、根据映射关系确定当前网络状态对应的并行数量;

28、从内存中调取若干分片添加到上传队列;

29、采用并行技术,根据并行数量从上传队列中依次获取多个分片上传到浏览器。

30、在一个可选的实施方式中,采用并行技术,根据并行数量从上传队列中依次获取多个分片上传到浏览器之前,具体包括:

31、创建信息对象,用于存储分片标识、分片上传状态;

32、将各个分片的分片标识填充到信息对象中;

33、将信息对象中各个分片的上传状态进行初始化。

34、在一个可选的实施方式中,根据并行数量从上传队列中依次获取多个分片上传到浏览器,具体包括:

35、实时监测当前分片的上传进度;

36、若当前分片上传完成,在信息对象中更新当前分片的上传状态为已成功上传;

37、若当前分片上传失败,在信息对象中更新当前分片的上传状态为上传失败;

38、分片上传失败再重新上传时,从信息对象中找到最后一个成功的分片开始上传。

39、第二方面,本申请实施例还提供了一种支持多种格式大文件上传的系统,包括:

40、组件程序构建模块,用于构建功能组件并编写大文件上传程序,所述功能组件包括分片组件、浏览器兼容组件和文件上传组件;

41、文件分片模块,用于执行编写大文件上传程序,调用分片组件基于大文件格式将大文件分割为多个分片,并根据运行环境动态调整分片大小;

42、格式转换模块,用于调用浏览器兼容组件检测浏览器支持功能,若浏览器支持功能满足要求,则将各个分片的格式转换为浏览器支持的格式文件;

43、文件上传模块,用于调用文件上传组件采用并行上传技术将格式转换后的多个分片上传到浏览器。

44、第三方面,本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上文任一项所述支持多种格式大文件上传的方法的步骤。

45、第四方面,本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述支持多种格式大文件上传的步骤。

46、从以上技术方案可以看出,本专利技术具有以下优点:

47、本申请提供的支持多种格式大文件上传的方法中,通过构建包含分片组件、浏览器兼容组件和文件上传组件的功能模块,实现应对不同浏览器对文件上传处理的差异的功能,尤其浏览器兼容组件确保上传功能能够在多种浏览器环境下运行,提升兼容性,同时在开发过程中,开发者无需再针对不同浏览器进行大量的兼容性测试和调整工作,浏览器兼容组件能够自动检测并适应不同的浏览器环境,大大节省开发时间和资源,提高开发效率。本申请针对不同浏览器对文件类型识别的差异,通过格式转换,减少因浏览器不兼容导致的上传失败或中断现象,提高上传效率。本申请通过采用并行上传技术,同时上传多个分片,显著提升上传速度。

本文档来自技高网...

【技术保护点】

1.一种支持多种格式大文件上传的方法,其特征在于,包括:

2.根据权利要求1所述的支持多种格式大文件上传的方法,其特征在于,调用分片组件将基于大文件格式将大文件分割为多个分片,具体包括:

3.根据权利要求2所述的支持多种格式大文件上传的方法,其特征在于,根据运行环境动态调整分片大小,具体包括:

4.根据权利要求3所述的支持多种格式大文件上传的方法,其特征在于,调用浏览器兼容组件检测浏览器支持功能,具体包括:

5.根据权利要求4所述的支持多种格式大文件上传的方法,其特征在于,调用文件上传组件采用并行上传技术将格式转换后的多个分片上传到浏览器,具体包括:

6.根据权利要求5所述的支持多种格式大文件上传的方法,其特征在于,采用并行技术,根据并行数量从上传队列中依次获取多个分片上传到浏览器之前,具体包括:

7.根据权利要求6所述的支持多种格式大文件上传的方法,其特征在于,根据并行数量从上传队列中依次获取多个分片上传到浏览器,具体包括:

8.一种支持多种格式大文件上传的系统,其特征在于,包括:

9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述支持多种格式大文件上传的方法的步骤。

10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述支持多种格式大文件上传的方法的步骤。

...

【技术特征摘要】

1.一种支持多种格式大文件上传的方法,其特征在于,包括:

2.根据权利要求1所述的支持多种格式大文件上传的方法,其特征在于,调用分片组件将基于大文件格式将大文件分割为多个分片,具体包括:

3.根据权利要求2所述的支持多种格式大文件上传的方法,其特征在于,根据运行环境动态调整分片大小,具体包括:

4.根据权利要求3所述的支持多种格式大文件上传的方法,其特征在于,调用浏览器兼容组件检测浏览器支持功能,具体包括:

5.根据权利要求4所述的支持多种格式大文件上传的方法,其特征在于,调用文件上传组件采用并行上传技术将格式转换后的多个分片上传到浏览器,具体包括:

6.根据权利要求5所述的支持多种格式大文件上传的方法,其特...

【专利技术属性】
技术研发人员:高锋景皓鑫陈猛王元强胡博文
申请(专利权)人:浪潮智慧科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1