一种文件上传方法和装置制造方法及图纸

技术编号:15695593 阅读:55 留言:0更新日期:2017-06-24 11:05
本申请提供一种文件上传方法和装置,其中方法包括:修改HTML表单中的文件上传控件的输入类型属性为非文件;在所述文件上传控件中自动设置待上传的目标文件的文件路径;在提交所述HTML表单后,拦截浏览器向所述HTML表单对应的目标服务器发送的表单提交请求包,所述表单提交请求包中包括:所述HTML表单中的文件上传控件中设置的目标文件的文件路径;根据所述文件路径获取所述目标文件,并将所述目标文件插入所述表单提交请求包,以将所述目标文件发送至所述目标服务器。本申请实现了文件的自动上传和提交,提高了文件上传效率。

【技术实现步骤摘要】
一种文件上传方法和装置
本申请涉及计算机技术,特别涉及一种文件上传方法和装置。
技术介绍
有些工作场景涉及到文件上传,例如,按照业务要求在客户端将一些商务文件提交至审核文件的服务器。为了实现文件上传,其中一种可以采用的上传方式为:假设要向某单位的服务器上传文件,可以在客户端侧的浏览器中打开该单位的HTML页面,该HTML页面中包括HTML表单,该HTML表单中可以包括多种用于作为接收用户输入信息容器的控件,用户可以通过访问这些控件向HTML表单中提交信息,当点击提交后,浏览器可以将HTML表单中接收的信息向服务器发送,实现HTML表单的提交。例如,HTML表单中的其中一种用于接收用户上传的文件的控件即文件上传控件,用户可以点击这个控件选择一个文件,或者在这个控件中输入文件路径名称。待点击提交按钮后,若控件接收的是文件路径,浏览器可以根据文件路径找到文件读出内容,并将文件内容插入HTTP请求包中,发送给服务器。但是,出于保护用户文件的安全性考虑,对于包含文件上传控件的HTML表单,大多数浏览器只允许用户手动访问文件上传控件进行文件上传,而这种人工文件上传的方式使得文件上传的效率较低。
技术实现思路
有鉴于此,本申请提供一种文件上传方法和装置,以通过访问文件上传控件实现文件的自动上传和提交,提高文件上传效率。具体地,本申请是通过如下技术方案实现的:第一方面,提供一种文件上传方法,所述方法包括:修改HTML表单中的文件上传控件的输入类型属性为非文件;在所述文件上传控件中自动设置待上传的目标文件的文件路径;在提交所述HTML表单后,拦截浏览器向所述HTML表单对应的目标服务器发送的表单提交请求包,所述表单提交请求包中包括:所述HTML表单中的文件上传控件中设置的目标文件的文件路径;根据所述文件路径获取所述目标文件,并将所述目标文件插入所述表单提交请求包,以将所述目标文件发送至所述目标服务器。第二方面,提供一种文件上传装置,所述装置包括:属性修改模块,用于修改HTML表单中的文件上传控件的输入类型属性为非文件;控件设置模块,用于在所述文件上传控件中自动设置待上传的目标文件的文件路径;请求拦截模块,用于在提交所述HTML表单后,拦截浏览器向所述HTML表单对应的目标服务器发送的表单提交请求包,所述表单提交请求包中包括:所述HTML表单中的文件上传控件中设置的目标文件的文件路径;文件插入模块,用于根据所述文件路径获取所述目标文件,并将所述目标文件插入所述表单提交请求包,以将所述目标文件发送至所述目标服务器。本申请提供的文件上传方法和装置,通过修改文件上传控件的属性,使得浏览器放弃对控件的保护,可以向控件中自动设置文件路径,并且可以由拦截工具代替浏览器根据文件路径在请求包中插入待上传文件,从而实现了文件的自动上传和提交,提高了文件上传效率。附图说明图1是本申请一示例性实施例示出的一种文件上传方法的应用场景图;图2是本申请一示例性实施例示出的一种文件上传方法的流程图;图3是本申请一示例性实施例示出的一种文件上传方法的实现原理图;图4是本申请一示例性实施例示出的一种文件上传方法的流程图;图5是本申请一示例性实施例示出的一种文件上传装置的结构图;图6是本申请一示例性实施例示出的另一种文件上传装置的结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。本申请实施例提供的文件上传方法,可以应用于浏览器环境下通过HTML表单中的文件上传控件来上传文件,这里的文件不限制类型,例如,word文件、PDF文件、txt文档等。图1示例了本方法的一种应用环境,如图1所示,文件上传可以发生在终端11与服务器12之间,例如,某个部门根据业务需求指定用户向其服务器12上传一些文件供审核所用,终端11可以是一个电脑,用户可以在该电脑上打开浏览器13,并在浏览器13中打开上述部门的一个客户端网站,该网站可以采用HTML页面14。HTML页面14中可以包括一个HTML表单15,用户即可通过该HTML表单15来上传文件,待用户上传文件之后,浏览器13可以负责将HTML表单15提交,即将HTML表单15中用户输入的信息封装成表单提交请求包发送至服务器12,其中包括上传的文件。HTML表单是HTML页面中的一种用户交互组件,可以作为容器组装其他交互控件,例如,文本框控件、按钮控件、单选框控件等,用户具体可以通过这些控件向HTML表单中输入信息。本例子中,如图1所示,HTML表单15中可以包括多种类型的控件,其中一种控件即文件上传控件16。文件上传控件是一种特殊的供用户提交信息的HTML控件,允许用户在该控件中上传一个选择的文件,后续浏览器可以将该控件中的文件发送至服务器。用户可以通过图1所示的HTML表单中的文件上传控件16上传文件,但是,出于保护用户文件的安全性考虑,大多数浏览器只允许用户手动访问该控件上传文件,例如,当用户人工操作上传文件时,可以点击文件上传控件16,在该控件中输入一个文件,或者在控件中输入文件路径,然后点击图1中的提交按钮17。浏览器13可以执行HTML表单的提交,将表单中包括的文件上传控件16中的文件发送至表单指定的服务器12。而如果一个自动化程序访问该文件上传控件16,并自动向该控件中上传文件或文件路径,则根据上述的保护文件原则,浏览器13会将控件中的内容清空,不允许上传。如上所述,如果在通过HTML表单中的文件上传控件上传文件时,用户只能手动操作文件上传并提交HTML表单,将使得文件上传的效率较低,基于此,为了提高文件上传的效率,本申请实施例提供了一种文件上传方法,该方法可以避开常规的对于文件上传控件的保护,能够自动操作HTML表单中的文件上传控件进行文件上传,并自动触发HTML表单的提交,相对于人工操作可以显著提高文件上传效率。如下将详细描述该方法:图2示例了本申请实施例的文件上传方法的流程,该方法可以由一个文件上传装置执行,该装置可以实现为一个自动化程序,该装置可以运行在图1所示的终端11上。如图2所示,该方法可以包括如下处理:在步骤201中,修改HTML表单中的文件上传控件的输入类型属性为非文件。例如,通常文件上传控件的输入类型属性限定为文件,<inputtype=”file”…>,可以将其修改为<inputtype=”text”…>,相当于将文件上传控件更改为一个文本框控件,这种修改可以使得浏览器放弃对这个文件上传控件的特殊保护,而允许文件上传装置设置控件的内容。在步骤202中,在文件上传控件中设置待上传的目标文件的文件路径。例如,在经过步骤201的属性修改后,浏览器将不再对该控件进行保护,本步骤中,文件上传装置可以根据业务需求向图1中的文件上传控件16中设置待上传的目标文件的文件路径。在一个例子中,文件上传装置可以是根据预配置的上传文件信息,在指定的文件上传控件中设置对应的目标文件的文件路径。比如,用户可以设本文档来自技高网...
一种文件上传方法和装置

【技术保护点】
一种文件上传方法,其特征在于,所述方法包括:修改HTML表单中的文件上传控件的输入类型属性为非文件;在所述文件上传控件中自动设置待上传的目标文件的文件路径;在提交所述HTML表单后,拦截浏览器向所述HTML表单对应的目标服务器发送的表单提交请求包,所述表单提交请求包中包括:所述HTML表单中的文件上传控件中设置的目标文件的文件路径;根据所述文件路径获取所述目标文件,并将所述目标文件插入所述表单提交请求包,以将所述目标文件发送至所述目标服务器。

【技术特征摘要】
1.一种文件上传方法,其特征在于,所述方法包括:修改HTML表单中的文件上传控件的输入类型属性为非文件;在所述文件上传控件中自动设置待上传的目标文件的文件路径;在提交所述HTML表单后,拦截浏览器向所述HTML表单对应的目标服务器发送的表单提交请求包,所述表单提交请求包中包括:所述HTML表单中的文件上传控件中设置的目标文件的文件路径;根据所述文件路径获取所述目标文件,并将所述目标文件插入所述表单提交请求包,以将所述目标文件发送至所述目标服务器。2.根据权利要求1所述的方法,其特征在于,所述在所述文件上传控件中设置待上传的目标文件的文件路径,包括:根据预配置的上传文件信息,在指定的文件上传控件中设置对应的目标文件的文件路径。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述HTML表单中设置有增加字段,所述增加字段中包括所述文件路径的位置信息、以及表示启动文件上传功能的标识信息;在所述拦截浏览器向HTML表单对应的目标服务器发送的表单提交请求包之后,读取所述HTML表单中的增加字段,根据所述标识信息,执行由所述文件路径的位置信息获取文件路径。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述HTML表单中设置增加字段时,以密钥对所述增加字段中的信息进行加密生成数字签名;当读取所述HTML表单的增加字段之后,以所述密钥验证所述数字签名。5.根据权利要求1所述的方法,其特征在于,所述HTML表单中包括至少一个所述文件上传控件。6.一种文件上传装置,其特征在于,所述装置包括:属性修改...

【专利技术属性】
技术研发人员:范晓锋
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1