本发明涉及一种基于smartpm智能管理平台的大文件上传方法及系统,属于网络文件传输领域。
背景技术:
由于现在互联网发展迅速,各个行业都与互联网合作,再加上互联网+的模式被大力推广,所以有很多web应用迅速发展开来,而相应的问题也应运而生。例如培训机构的在线培训系统,往往无法一次性上传1g以上大小的视频,或者一些上传系统会根据文件类型确定上传文件时使用多少线程,比如上传书籍使用单线程,然而越来越多的培训资料大小在几百兆的规模。
技术实现要素:
本发明的目的是为了解决现有的上传系统很难一次性上传大型文件,不易的缺点,而提出一种基于smartpm智能管理平台的大文件上传方法及系统。
一种基于smartpm智能管理平台的大文件上传方法,包括:
设置配置文件,所述配置文件能够设置分块大小;
在接收端创建用于存储待上传文件的文件夹;
在发送端根据配置文件中的分块大小判断待上传文件的分块数是否大于1,若是,则通过流上传各个分块;若否,则将待上传文件的内容进行传输;
接收端将对应于同一文件的分块按照顺序进行排序并组合,得到完整文件。
一种基于smartpm智能管理平台的大文件上传系统,包括:
配置模块,用于设置配置文件;所述配置文件能够设置分块大小;
文件夹创建模块,用于在接收端创建用于存储待上传文件的文件夹;
传输模块,用于根据配置文件中的分块大小判断待上传文件的分块数是否大于1,若是,则通过流上传各个分块;若否,则将待上传文件的内容进行传输;
组合模块,用于将对应于同一文件的分块按照顺序进行排序并组合,得到完整文件。
本发明的有益效果为:1、通过分块上传文件,可以将大型文件分片上传,不受文件大小限制;2、给予smartpm只能管理平台实现,上传速度相比于已有的上传系统,速度至少提升10%;3、可以通过配置文件灵活配置上传文件的属性、线程数量、分块数量等,相比于已有技术更加灵活,便于根据具体情况进行修改。
附图说明
图1为本发明一个实施例的基于smartpm智能管理平台的大文件上传方法流程图。
具体实施方式
具体实施方式一:本实施方式的基于smartpm智能管理平台的大文件上传方法,如图1所示,包括:
步骤s1,设置配置文件;配置文件能够设置分块大小;例如,在plupload插件中,分块大小定义为chunk,可以将分块设置成10mb,100mb等值。
步骤s2,在接收端创建用于存储待上传文件的文件夹;
步骤s3,在发送端根据配置文件中的分块大小判断待上传文件的分块数是否大于1,若是,则通过流上传各个分块;若否,则将待上传文件的内容进行传输。例如,如果步骤s1中将分块设置成了10mb,那么待上传文件就会按10mb进行分割,即对于100mb的文件,会被分为10块,如果文件大小小于10mb,则直接将文件内容进行拷贝上传。
步骤s4,接收端将对应于同一文件的分块按照顺序进行排序并组合,得到完整文件。
本实施方式的核心内容是文件的分片上传,通过分片文件的接口来组合文件,在前台来看,每个文件被分成片以后都是很小的一个临时文件,假如一个文件是1g文件,那么每片文件大小是100m,那么就是10个这样的临时文件,那么前端会发送10个这样的http请求,通过多线程接收,效率将会大大的提高。
具体实施方式二:本实施方式与具体实施方式一不同的是:配置文件能够设置最大上传文件数的个数、最大文件的大小、是否可以重命名、是否可以排序和是否进行压缩。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:配置文件通过plupload上传组件实现。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:通过流上传文件时具体通过plupload上传组件中的silverlight上传功能进行上传。
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:通过流上传文件时具体通过plupload上传组件中的flash上传功能进行上传。
其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:本实施方式提供一种基于smartpm智能管理平台的大文件上传系统,包括:
配置模块,用于设置配置文件;配置文件能够设置分块大小;
文件夹创建模块,用于在接收端创建用于存储待上传文件的文件夹;
传输模块,用于根据配置文件中的分块大小判断待上传文件的分块数是否大于1,若是,则通过流上传各个分块;若否,则将待上传文件的内容进行传输;
组合模块,用于将对应于同一文件的分块按照顺序进行排序并组合,得到完整文件。
具体实施方式七:本实施方式与具体实施方式六不同的是:配置文件能够设置最大上传文件数的个数、最大文件的大小、是否可以重命名、是否可以排序和是否进行压缩。
其它步骤及参数与具体实施方式六相同。
具体实施方式八:本实施方式与具体实施方式六或七不同的是:配置文件通过plupload上传组件实现。
其它步骤及参数与具体实施方式六或七相同。
具体实施方式九:本实施方式与具体实施方式六至八不同的是:通过流上传文件时具体通过plupload上传组件中的flash上传功能进行上传。
其它步骤及参数与具体实施方式六至八之一相同。
具体实施方式十:本实施方式与具体实施方式六至九不同的是:通过流上传文件时具体通过plupload上传组件中的silverlight上传功能进行上传。
其它步骤及参数与具体实施方式六至九之一相同。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。