[发明专利]上传文件的方法及装置在审
申请号: | 201410252220.3 | 申请日: | 2014-06-09 |
公开(公告)号: | CN104035989A | 公开(公告)日: | 2014-09-10 |
发明(设计)人: | 潘俊;漆昱恒;江岱霖 | 申请(专利权)人: | 小米科技有限责任公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/445;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市海淀区清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 上传 文件 方法 装置 | ||
技术领域
本公开涉及通信及计算机处理领域,尤其涉及上传文件的方法及装置。
背景技术
随着通信技术的发展,网络越来越发达。人们可以从互联网中获取各种信息。人们还可以通过互联网与他人交流沟通,分享各种信息。并且随着电子技术的发展,网络还提供数据存储服务。其中,上传文件是存储业务和与他人分享的一种方式。
本公开的发明人发现,相关技术中,大多数浏览器仅支持内嵌窗口(iframe)一种上传文件方式。对新标准(如W3C标准)的浏览器的上传文件方式支持较差。因此,如何更好的上传文件,是亟待解决的问题。
发明内容
为克服相关技术中存在的问题,本公开提供一种上传文件的方法及装置。
根据本公开实施例的第一方面,提供一种上传文件的方法,包括:
获得需上传的文件;
判断浏览器是否支持第一上传方式;第一上传方式为XHR2上传方式;
在支持第一上传方式时,通过第一上传方式发送上传所述文件的请求;
在不支持第一上传方式时,判断是否支持第二上传方式;
在支持第二上传方式时,通过第二上传方式发送上传所述文件的请求。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例实现了XHR2上传方式与其它上传方式的兼容,不仅支持新标准(如W3C标准)的浏览器上传文件,还可以支持老标准的浏览器对文件的上传。
所述通过第一上传方式发送上传所述文件的请求之前,所述方法还包括:
将获得的所述文件添加到表单控件对象formdata;
所述通过第一上传方式发送上传所述文件的请求,包括:通过第一上传方式发送包括所述formdata的请求。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例通过表单控件对象formdata来封装需上传的文件,简化了上传过程中发送请求的对象对文件的调用,大幅度简化了程序实现的代码量。并且便于实现在上传之前对文件的添加和删除。
所述文件为多个;
所述将获得的所述文件添加到表单控件对象formdata,包括:将获得的多个所述文件逐个添加到表单控件对象formdata。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例中一个表单控件对象formdata可支持添加多个文件,通过一个表单控件对象formdata便可实现对多个文件的封装,对其它模块几乎没有影响,具有较好的低耦合性。
所述方法还包括:当采用第一上传方式时,获取上传进度,并显示。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例还可以实现在文件的上传过程中实时获得上传进度,并显示给用户,方便用户了解整个上传过程。
所述第二上传方式包括:框架iframe上传方式或闪存flash上传方式。
本公开的实施例提供的技术方案可以包括以下有益效果:本实施例对各种老标准的浏览器的上传方式均可以支持,兼容性较好。
根据本公开实施例的第二方面,提供一种上传文件的装置,包括:
获取模块,用于获得需上传的文件;
第一判断模块,用于判断浏览器是否支持第一上传方式;第一上传方式为XHR2上传方式;
第一发送模块,用于在所述第一判断模块表明所述浏览器支持第一上传方式时,通过第一上传方式发送上传所述获取模块获取到的文件的请求;
第二判断模块,用于在所述第一判断模块表明所述浏览器不支持第一上传方式时,判断是否支持第二上传方式;
第二发送模块,用于在所述第二判断模块表明所述浏览器支持第二上传方式时,通过第二上传方式发送上传所述获取模块获取到的文件的请求。
所述装置还包括:
表单控件对象模块,用于将所述获取模块获得的所述文件添加到表单控件对象formdata;
所述第一发送模块在所述第一判断模块表明所述浏览器支持第一上传方式时,通过第一上传方式发送包括所述formdata的请求。
所述文件为多个;
所述表单控件对象模块将所述获取模块获得的多个所述文件逐个添加到表单控件对象formdata。
所述装置还包括:进度模块,用于当采用第一上传方式时,获取上传进度,并显示。
所述第二上传方式包括:框架iframe上传方式或闪存flash上传方式。
根据本公开实施例的第三方面,提供一种上传文件的装置,包括:
处理器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于小米科技有限责任公司,未经小米科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410252220.3/2.html,转载请声明来源钻瓜专利网。