[发明专利]文件上传方法和系统有效
申请号: | 201210378933.5 | 申请日: | 2012-10-09 |
公开(公告)号: | CN102868765A | 公开(公告)日: | 2013-01-09 |
发明(设计)人: | 刘旺 | 申请(专利权)人: | 乐视网信息技术(北京)股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
代理公司: | 北京驰纳智财知识产权代理事务所(普通合伙) 11367 | 代理人: | 谢亮;唐与芬 |
地址: | 100026 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 上传 方法 系统 | ||
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种基于http post的文件上传方法和系统。
背景技术
随着互联网技术的普遍应用,用户对文件传输的需求也在与日俱增。超文本传输协议Http定义了服务器端和客户端之间文件传输的沟通方式,相比于以往采用的ftp协议而言,http协议在文件传输技术上更适合web编程,并且具有更好的安全性和更简单的权限控制。Httpclient是可以用来提供高效的、最新的、功能丰富的支持http协议的客户端编程工具包,实现了包含GET、POST、PUT、HEAD等的方法,其中POST方法用来向目的服务器发出请求,可用于实现文件的上传。
现有技术中利用http post进行文件上传方法和系统存在以下缺点:
1、上传文件时,没有进行文件校验,因此无法保证上传后文件的完整性和可靠性,也不能保证正常的文件功能;
3、上传失败时,进行再次上传时,不支持断点续传。
2、没有文件自动识别功能,即现有的系统不能自动识别文件类型。
4、现有系统也不具备打散存储的功能,即不具备根据文件类型进行自动适配到相应的存储目录中的能力,因此现有系统在文件上传成功后,文件对应在同一域名下,例如,用户需要访问同时具有jpg、png、gif三种图片元素的网页,现有的文件上传系统将这三种类型的些图片元素通过同一个域名访问,页面加载时候所有元素需要排队进行加载,页面加载的速度较慢。
发明内容
本发明要的目的就是克服以上所述的现有技术http post文件上传中实际存在的问题。
为实现上述发明目的,根据本发明的一个方面,提出了一种文件上传方法,包含以下步骤:
步骤1、用户在客户端选择待上传文件,并提交所述待上传文件的散列值;
步骤2、客户端向服务器端发出基于HTTP POST进行文件上传的请求;
步骤3、服务器端对所述待上传文件的文件大小、用户属性以及文件类型进行判断,若判断为成功,进行步骤4,若判断为失败,则向用户返回失败提醒,结束上传;
步骤4、服务器端对所述待上传文件的内容进行识别,若服务器中已经存在完全相同文件,则向客户端提醒存在完全相同文件,并向客户端返回已有文件地址,结束上传;若服务器中不存在完全相同文件,则进一步判断待上传文件是否已部分上传至服务器中,若是,则继续上传剩余部分,直到整个文件上传完毕,若否,则正常上传文件;
步骤5、上传成功后,服务器端计算已上传文件的散列值,与步骤1中的散列值进行比较,若两者相同,则向客户端提醒文件上传成功,向客户端返回文件地址,结束上传;若两者不同,则向客户端返回上传失败提醒,结束上传。
优选的是,所述步骤3中判断文件类型具体为:先获取待上传文件的后缀名,判断后缀名是否在允许上传的范围之内,若否则判断为失败,向用户返回失败提醒,结束上传,若在允许上传的范围之内则进一步获取文件的多用途网际邮件扩充协议(MIME)类型,若MIME类型在对应后缀的MIME类型范围之内,则判断为成功,进行步骤4,若MIME类型不在对应后缀的MIME类型范围之内,则判断为失败,向用户返回失败提醒,结束上传。
在上述任一方案中优选的是,所述步骤1中提交所述待上传文件的散列值的步骤具体为:由用户提交散列值。
在上述任一方案中优选的是,所述步骤1中提交所述待上传文件的散列值的步骤具体为:客户端从多个可选的散列函数中选择一种散列函数,以所选择的散列函数对待上传文件自动计算需要提交的散列值,客户端在向服务器提交散列值的同时通知服务器客户端所使用的散列函数。
在上述任一方案中优选的是,在步骤4中,上传文件包括多个单一文件上传和压缩包文件上传,其中,
在进行所述多个单一文件上传时进行文件打散存储,根据文件类型与访问域名间的对应关系,将文件存储在与其类型对应的域名目录下;
在进行所述压缩包文件上传时进行文件打散存储,上传成功后,自动对所述压缩包文件进行解压,按照各文件原始的固定的相对路径进行解压存储。
根据本发明的第二方面,提供了一种文件上传系统,包括客户端和服务器端,其中:
客户端包括:
选择提交模块,用于选择待上传文件,并提交所述待上传文件的散列值;
请求提交模块,用于发出基于HTTP POST进行文件上传的请求;
服务器端包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于乐视网信息技术(北京)股份有限公司,未经乐视网信息技术(北京)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210378933.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种安全防护罩的制作方法
- 下一篇:一种APP改性沥青防水卷材