一种上传和接收文件的方法、系统及装置制造方法及图纸

技术编号:4331640 阅读:235 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及网络通信技术,特别涉及一种上传和接收文件的方法、系统及装置,用以解决现有技术中存在的通过Web网页上传大容量的文件,对于服务器的配置要求比较高的问题。本发明专利技术实施例上传文件的方法包括:服务器将接收的来自客户端的数据块存储到指定位置;所述服务器在数据块全部接收完成后,根据所述客户端上传数据块的方式,将所述指定位置中的数据块合并成文件。采用本发明专利技术实施例的方法能够降低上传文件时对于服务器的配置的要求,满足用户上传文件的需求,提高用户体验以及文件上传的可靠性。

【技术实现步骤摘要】

本专利技术涉及网络通信技术,特别涉及一种上传和接收文件的方法、系统及装置
技术介绍
随着网络技术的飞速发展,越来越多的用户会将自己的文件上传到服务器供其他用户使用。目前用户通过Web网页上传图片、视频、音频等文件的方式包括 用户通过客户端连接到服务器,并打开上传页面; 用户在上传页面选择需要上传的文件后点击上传,上传页面将文件发送给服务器; 服务器先将接收的文件保存在内存中,等到文件接收完成后,再将文件保存到硬盘中。 由于传统的页面对于上传文件的大小是有限制的,比如在传统页面的web. config配置中,上传文件大小是4M,这时只允许用户上传不大于4M的文件。 用户通常上传的文件都大于web. config配置中允许上传的文件的容量,所以现有的方式中,可以通过修改web. config配置中的上传的文件的容量,使上传文件的大小不受限制。 但是如果用户要上传的文件容量比较大,比如1G的文件,由于服务器需要先将接收的文件保存在内存中,所以要求服务器的内存比较大,如果服务器的内存不够大,还是无法上传文件。 综上所述,目前通过Web网页上传大容量的文件,对于服务器的配置要求比较高。
技术实现思路
本专利技术实施例提供一种上传和接收文件的方法、系统及装置,用以解决现有技术中存在的通过Web网页上传大容量的文件,对于服务器的配置要求比较高的问题。 本专利技术实施例提供的一种上传文件的方法包括 客户端在接收到的超级文本传送协议HTTP请求中包含上传信息时,根据分块条件将需要上传的文件分成多个数据块; 所述客户端将所述多个数据块按照设定的发送顺序,向服务器发送。 本专利技术实施例提供的一种接收文件的方法包括 服务器将接收的来自客户端的数据块存储到指定位置; 所述服务器在数据块全部接收完成后,根据所述客户端上传数据块的方式,将所述指定位置中的数据块合并成文件。本专利技术实施例提供的一种传输文件的系统包括 客户端,用于在接收到的超级文本传送协议HTTP请求中包含上传信息时,根据分块条件将需要上传的文件分成多个数据块,将所述多个数据块按照设定的发送顺序,向服务器发送; 服务器,用于将接收的来自客户端的数据块存储到指定位置,在数据块全部接收完成后,根据所述客户端上传数据块的方式,将所述指定位置中的数据块合并成文件。 本专利技术实施例提供的一种客户端包括 划分模块,用于在接收到的超级文本传送协议HTTP请求中包含上传信息时,根据分块条件将需要上传的文件分成多个数据块; 发送模块,用于将所述多个数据块按照设定的发送顺序,向服务器发送。 本专利技术实施例提供的一种服务器包括 接收模块,用于将接收的来自客户端的数据块存储到指定位置; 处理模块,用于在数据块全部接收完成后,根据所述客户端上传数据块的方式,将所述指定位置中的数据块合并成文件。 本专利技术实施例客户端在接收到的HTTP请求中包含上传信息时,根据分块条件将需要上传的文件分成多个数据块;所述客户端将所述多个数据块按照设定的发送顺序,向服务器发送。由于将大容量文件分成多个数据块,分别上传,从而降低了对于服务器的配置的要求,满足了用户上传文件的需求,提高了用户体验以及文件上传的可靠性。附图说明 图1为本专利技术实施例上传文件的方法流程示意图; 图2为本专利技术实施例接收文件的方法流程示意图; 图3为本专利技术实施例传输文件的方法流程示意图; 图4为本专利技术实施例传输文件的系统结构示意图; 图5为本专利技术实施例客户端的结构示意图; 图6为本专利技术实施例服务器的结构示意图。具体实施例方式本专利技术实施例客户端将需要发送的文件分成多个数据块,将每个数据块按顺序发送,服务器将接收到的数据块在合并成文件,由于将文件分成多个数据块发送,服务器一次只会收到一个数据块,然后再将收到的数据块存储到指定位置,这样只需要保证服务器的内存能够存储一个数据块就可以,从而降低了对服务器配置的要求。 下面结合说明书附图对本专利技术实施例作进一步详细描述。 如图1所示,本专利技术实施例上传文件的方法包括下列步骤 步骤400、客户端在接收到的HTTP(Hyper Text Transport Protocol,超级文本传送协议)请求中包含上传信息时,根据分块条件将需要上传的文件分成多个数据块。 步骤401、客户端将多个数据块按照设定的发送顺序,向服务器发送。 在具体实施过程中,用户进入上传页面,选中需要上传的文件并点击上传后,会发送一个HTTP请求,其中该HTTP请求中包含上传信息(即multipart/form-data信息)。 分块条件可以根据需要进行设定,比如设定分块数量,还可以设定分成的一个数据块的容量,等等。 —种较佳的方式是根据服务器的内存容 设定分成的数据块的容量,比如服务器的内存容量为1G,则可以设定数据块的容量为100M。 客户端可以向服务器发送获取内存容量的命令,服务器将自身内存的容量返回给客户端,从而客户端获得内存容量。当然,其他能够获得服务器20的方式同样适用本实施例。 发送顺序同样可以根据需要进行设定,比如按照数据先后顺序,即将文件分成多个数据块,每个数据块发送的顺序就是对应的数据在文件中的顺序; 还可以为每个数据块分配一个数字,并将分配的数据置于对应的数据块中,按照设定的数字顺序,将多个数据块以及设定的数字顺序向服务器发送。 假设有4个数据块,对应的数字为1,2,3和4,数字顺序为4、3、2、1,则在发送的时候,按照数字顺序发送对应的数据块,数字顺序可以独立发送给服务器20,也可以至于其中一个数据块中,较佳的方式是置于第一个发送的数据块中。 客户端在划分成数据块后,可以在数据块中添加文件标识,这样可以让服务器知道哪些数据块属于同一个文件。 客户端10还可以在每个数据块中增加一个状态标识(比如l,指示还有数据块,O指示是最后一个数据块),这样服务器根据数据块中的状态标识可以确定该数据块是否是收到的最后一个数据块。 如图2所示,本专利技术实施例接收文件的方法包括下列步骤 步骤500、服务器将接收的来自客户端的数据块存储到指定位置。 需要说明的是,服务器接收的数据块是按照本实施例的方法上传的数据块。 步骤501、服务器在数据块全部接收完成后,根据客户端上传数据块的方式,将指定位置中的数据块合并成文件。 在具体实施过程中,如果客户端按照数据先后顺序,则服务器根据收到的数据块的顺序,对数据块进行合并(可以全部接收完成后在一起合并;也可以在收到第二个数据块就和第一个数据块进行合并,在收到第三个数据块就和前面的数据块进行合并,依次类推)。 如果客户端按照设定的数字顺序,将多个数据块以及设定的数字顺序向服务器发送,则服务器根据收到的数字顺序和至于数据块中的数字,对收到的数据块进行排序,并进行合并处理。 其中,服务器可以根据客户端的通知确定客户端是按照哪种顺序发送的数据块;也可以根据预先的设定,即如果服务器收到的数据块中没有数字,则按照数据先后顺序,进行合并;否则,按照数字顺序进行合并。 服务器在收到数据块中含有数据信息后,根据文件标识建立一个文件夹,将收到的含有相同文件标识的数据块都放到该文件夹中。 这样该文件夹就是指定位置。当然,还可以根据文件类型确定指定位置,比如音乐类和影视类可以分开存储等等。 服务器有多种方式确定数据块全部接收完成,比如如果本文档来自技高网...

【技术保护点】
一种上传文件的方法,其特征在于,该方法包括:客户端在接收到的超级文本传送协议HTTP请求中包含上传信息时,根据分块条件将需要上传的文件分成多个数据块;所述客户端将所述多个数据块按照设定的发送顺序,向服务器发送。

【技术特征摘要】
一种上传文件的方法,其特征在于,该方法包括客户端在接收到的超级文本传送协议HTTP请求中包含上传信息时,根据分块条件将需要上传的文件分成多个数据块;所述客户端将所述多个数据块按照设定的发送顺序,向服务器发送。2. 如权利要求1所述的方法,其特征在于,所述客户端根据分块条件将需要上传数据分成多个数据块包括根据设定的分块数量,将需要上传的文件分成多个数据块;或根据设定的数据块的容量,将需要上传的文件分成多个数据块。3. 如权利要求1或2所述的方法,其特征在于,所述客户端将所述多个数据块按照设定的发送顺序,向服务器发送包括所述客户端按照文件中的数据先后顺序,将所述多个数据块顺序向服务器发送;或所述客户端为每个数据块分配一个数字,并将分配的数据置于对应的数据块中,按照设定的数字顺序,将所述多个数据块以及所述设定的数字顺序向服务器发送。4. 一种接收按照权利要求1的方式上传的文件的方法,其特征在于,该方法包括服务器将接收的来自客户端的数据块存储到指定位置;所述服务器在数据块全部接收完成后,根据所述客户端上传数据块的方式,将所述指定位置中的数据块合并成文件。5. 如权利要求4所述的方法,其特征在于,所述服务器确定数据块全部接收完成包括如果收到的所有数据块的容量等于收到的来自所述客户端的容量信息,确定数据块全部接收完成;或如果所述客户端处于断开状态,确定数据块全部接收完成;或如果收到的数据块中的状态标识为完成表示,确定数据块全部接收完成。6. 如权利要求4或5所述的方法,其特征在于,如果所述客户端上传数据块的方式为按照数据的先后顺序上传数据块,所述服务器将所述指定位置中的数据块合并成文件包括按照接收的数据块的顺序,将收到的数据块合成文件;如果所述客户端上传数据块的方式为按照设定的数字顺序上传数据块,所述服务器将所述指定位置中的数据块合并成文件包括根据收到的来自所述客户端的数字顺序和数据块中的数字,将收到的数据块合成文件。7. —种传输文件的系统,其特征在于,该系统包括客户端,用于在接收到的超级文本传送协议HTTP请求中包含上传信息时,根据分块条件将需要上传的文件分成多个数据块,将所述多个数据块按照设定的发送顺序,向服务器发送;服务器,用于将接收的来自客户端的数据块存储到指定位置,在数据块全部接收完成后,根据所述客户端上传数据块的方式,将所述指定位置中的数据块合并成文件。8. 如权利要求7所述的系统,其特征在于,所述客户端包括划分模块,用于在接收到的超级文本传送协议HTTP请求中包含上传信息时,根据分块条件将需要上传的文件分成多个数据块;发送模块,用于将所述多个数据块按照设定的发送顺序,向服务器发送;所述服务器包括接收模块,用于将接收的来自客户端的数据块存储到指定位置;处理模块,用于在数据块全部接收完成后,根据所述客户端上传数据块的方式,将所述 指定位置中的数据块合并成文件。9. 如权利要求8所述的系统,其特征在于,所述划分模块包括数量化分模块,用于根据设定的分块数量,将需要上传的文件分成多个数据块;或 容量化分模块,用于根据设定的数据块的容量,将需要上传的文件分成多个数据块。10. 如权利要求8或9所述的系统,其特征在于,所述发送模块包括 确定模块,用于确...

【专利技术属性】
技术研发人员:王永强李明珠
申请(专利权)人:北大方正集团有限公司北京北大方正电子有限公司
类型:发明
国别省市:11[中国|北京]

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

1