一种图片上传方法、客户端及服务器的制造方法

文档序号:10660941阅读:212来源:国知局
一种图片上传方法、客户端及服务器的制造方法
【专利摘要】本发明属于互联网技术领域,公开了一种图片上传方法,包括:接收通过HTML5页面下发的图片上传指令;获取待上传图片的名称;根据所述图片上传指令调用嵌入HTML5页面的图片上传程序,根据所述待上传图片的名称,利用所述图片上传程序将待上传图片上传到服务器。本发明实施例中,通过HTML5页面提供一种图片上传方案,利用HTML5页面中内嵌的图片上传程序,读取待上传图片并通过数据格式的转换,通过HTML5页面中的input标签将待上传图片上传到服务器。从而为在智能终端中通过浏览器或支持HTML5的应用程序提供了一种通过HTML5页面上传图片的方案,降低了开发成本。本发明实施例还提供了相应的图片上传的客户端和服务器。
【专利说明】
一种图片上传方法、客户端及服务器
技术领域
[0001]本发明属于互联网技术领域,更具体地,涉及一种图片上传方法、客户端及服务器。【背景技术】
[0002]随着互联网技术的发展,出现了越来越多的客户端应用,例如各种应用程序APP。 越来越多的客户端中提供了上传图片的功能,然而客户端现有图片上传是基于APP自身应用的本地上传。内嵌HTML5的图片上传由于移动端浏览器权限的问题,导致HTML5的file标签无法访问本地文件,因此目前还没有基于内嵌HTML5的图片上传方案。
【发明内容】

[0003]针对现有技术的以上缺陷或改进需求,本发明提供了一种图片上传方法、客户端及服务器,其目的在于提供一种在智能终端中通过HTML5页面上传图片的方案,由此解决现有技术中只能通过应用程序本身上传图片的局限性。
[0004]为实现上述目的,按照本发明的一个方面,提供了一种图片上传方法,包括:
[0005]接收通过HTML5页面下发的图片上传指令;
[0006]获取待上传图片的名称;
[0007]根据所述图片上传指令调用嵌入HTML5页面的图片上传程序,根据所述待上传图片的名称,利用所述图片上传程序将待上传图片上传到服务器。
[0008]可选地,所述利用所述图片上传程序将待上传图片上传到服务器具体为:
[0009]按二进制流方式读取待上传图片;
[0010]将读取的二进制格式的待上传图片转化为base64字符串;[〇〇11 ] 将base64字符串赋值给HTML5页面中的input标签;[〇〇12] 通过HTML5的表单提交,把base64字符串上传到服务器。[0013 ]按照本发明的另一方面,还提供了一种图片上传方法,包括:
[0014]接收客户端上传的待上传图片的base64字符串;
[0015]获取所述待上传图片的图片格式类型,根据所述图片格式类型判断所述待上传图片是否是合法图片类型;
[0016]如果所述待上传图片为合法图片类型,则生成所述待上传图片的文件地址;
[0017]将所述待上传图片的base64字符串转化为二进制流文件,并根据所述文件地址保存所述二进制流文件。
[0018]可选地,所述生成所述待上传图片的文件地址,具体为:
[0019]通过md5随机数的方式生成一个唯一的16位字符串,加上所述解码得到图片格式类型,并再加上所述服务器的地址,从而生成所述待上传图片的文件地址。
[0020]可选地,所述将所述待上传图片的base64字符串转化为二进制流文件,并根据所述文件地址保存所述二进制流文件,具体为:[0021 ] 通过PHP的;[1]1&86(^6&七6;1^011181:1';[叫函数将所述待上传图片的匕&8664字符串转化为二进制流文件,然后通过Imagejpeg函数把所述二进制流文件保存到所述服务器中所述文件地址所对应的存储空间。
[0022]按照本发明的另一方面,还提供了一种客户端,包括图片上传指令获取模块、待上传图片名称获取模块以及图片上传模块,其中:
[0023]所述图片上传指令获取模块,用于接收通过HTML5页面下发的图片上传指令;
[0024]所述待上传图片名称获取模块,用于获取待上传图片的名称;[〇〇25]所述图片上传模块,用于根据所述图片上传指令调用嵌入HTML5页面的图片上传程序,根据所述待上传图片的名称,利用所述图片上传程序将待上传图片上传到服务器。 [〇〇26]可选地,所述图片上传模块具体包括二进制读取模块、base64字符串转化模块、赋值模块以及上传模块,其中:
[0027]所述二进制读取模块,用于按二进制流方式读取待上传图片;[〇〇28]所述base64字符串转化模块,用于将读取的二进制格式的待上传图片转化为 base64字符串;[〇〇29] 所述赋值模块,用于将base64字符串赋值给HTML5页面中的input标签;[〇〇3〇] 所述上传模块,用于通过HTML5的表单提交,把base64字符串上传到服务器。
[0031]按照本发明的另一方面,还提供了一种客户端,包括接收模块、图片格式判断模块、文件地址生成模块以及图片保存模块,其中:[〇〇32]所述接收模块,用于接收客户端上传的待上传图片的base64字符串;[〇〇33]所述图片格式判断模块,用于获取所述待上传图片的图片格式类型,根据所述图片格式类型判断所述待上传图片是否是合法图片类型;
[0034]所述文件地址生成模块,用于如果所述待上传图片为合法图片类型,则生成所述待上传图片的文件地址;[〇〇35]所述图片保存模块,用于将所述待上传图片的base64字符串转化为二进制流文件,并根据所述文件地址保存所述二进制流文件。
[0036]可选地,所述文件地址生成模块具体用于:
[0037]通过md5随机数的方式生成一个唯一的16位字符串,加上所述解码得到图片格式类型,并再加上所述服务器的地址,从而生成所述待上传图片的文件地址。
[0038]可选地,所述图片保存模块具体用于:
[0039] 通过PHP的;[1]1&86(^6&七6;1^011181:1';[叫函数将所述待上传图片的匕&8664字符串转化为二进制流文件,然后通过Imagejpeg函数把所述二进制流文件保存到所述服务器中所述文件地址所对应的存储空间。
[0040]按照本发明的另一方面,还提供了一种智能终端,包括处理器和存储器,其中:[0041 ]所述存储器,用于存储待上传图片;[〇〇42]所述处理器,用于接收通过HTML5页面下发的图片上传指令;获取待上传图片的名称;并根据所述图片上传指令调用嵌入HTML5页面的图片上传程序,根据所述待上传图片的名称,利用所述图片上传程序将待上传图片上传到服务器。[〇〇43]按照本发明的另一方面,还提供了一种服务器,包括处理器和存储器,其中:[〇〇44]所述处理器,用于接收客户端上传的待上传图片的base64字符串;获取所述待上传图片的图片格式类型,根据所述图片格式类型判断所述待上传图片是否是合法图片类型;如果所述待上传图片为合法图片类型,则生成所述待上传图片的文件地址;将所述待上传图片的base64字符串转化为二进制流文件,并根据所述文件地址保存所述二进制流文件;
[0045]所述存储器,用于存储所述二进制流文件的待上传图片。[〇〇46]本发明实施例中,通过HTML5页面提供一种图片上传方案,利用HTML5页面中内嵌的图片上传程序,读取待上传图片并通过数据格式的转换,通过HTML5页面中的input标签将待上传图片上传到服务器。从而为在智能终端中通过浏览器或支持HTML5的应用程序提供了一种通过HTML5页面上传图片的方案,降低了开发成本。【附图说明】
[0047]图1是本发明实施例中提供的一种图片上传方法的流程示意图;
[0048]图2是图1中图片上传步骤的详细流程图;
[0049]图3是本发明另一实施例中提供的一种图片上传方法的流程示意图;
[0050]图4是本发明另一实施例中提供的一种客户端的结构示意图;[0051 ]图5是图4中图片上传模块的结构示意图;[〇〇52]图6是本发明另一实施例中提供的一种服务器的结构示意图;[〇〇53]图7是本发明另一实施例中提供的一种智能终端的结构示意图;[〇〇54]图8是本发明另一实施例中提供的一种服务器的结构示意图。【具体实施方式】
[0055]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。[〇〇56]如图1所示,本发明实施例提供了一种图片上传方法,包括:
[0057] SI 1、接收通过HTML5页面下发的图片上传指令;[〇〇58]具体的,可以在智能终端的浏览器或支持HTML5的应用程序中内嵌一个HTML5页面,该HTML5页面提供图片上传功能,具体地可以提供一个具有图片上传功能的按钮,用户通过点击该按钮可以下达图片上传指令;
[0059]S12、获取待上传图片的名称;
[0060]当用户下达图片上传指令后,根据该指令获取上传图片的名称;例如由用户选择待上传图片的目录并选中待上传图片,从而获得待上传图片的名称(即待上传图片在智能终端中的存储地址);
[0061]S13、根据所述图片上传指令调用嵌入HTML5页面的图片上传程序,根据所述待上传图片的名称,利用所述图片上传程序将待上传图片上传到服务器;[〇〇62] 为了在HTML5页面中上传图片,可以在HTML5页面中嵌入js代码用以实现图片上传功能,该js代码包含两个功能:一是能够调用智能终端自身的功能(主要是数据转换);二是能够将待上传的字符串赋值给HTML5页面中的input标签。
[0063]具体地,如图2所示,上述步骤S13包括如下子步骤:[〇〇64]S131、按二进制流方式读取待上传图片;
[0065]根据上述待上传图片的名称以二进制流方式读取待上传图片,得到二进制格式的数据;[〇〇66]S132、将读取的二进制格式的待上传图片转化为base64字符串;[〇〇67] Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64编码可用于在HTTP环境下传递较长的标识信息,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
[0068]S133、将base64字符串赋值给HTML5页面中的input标签;[〇〇69]S134、通过HTML5的表单提交,把bas e 64字符串上传到服务器。[〇〇7〇]本发明实施例中,通过HTML5页面提供一种图片上传方案,利用HTML5页面中内嵌的图片上传程序,读取待上传图片并通过数据格式的转换,通过HTML5页面中的input标签将待上传图片上传到服务器。从而为在智能终端中通过浏览器或支持HTML5的应用程序提供了一种通过HTML5页面上传图片的方案,降低了开发成本。
[0071]在本发明另加一实施例中,如图3所示,提供了另一种图片上传方法,包括:[〇〇72]S21、接收客户端上传的待上传图片的base64字符串;[〇〇73]当客户端通过HTML5页面上传图片时,将base64字符串赋值给HTML5页面中的 input标签,通过HTML5的表单提交,把base64字符串上传到服务器;服务器会接收到客户端上传的待上传图片的base64字符串。
[0074]S22、获取所述待上传图片的图片格式类型,根据所述图片格式类型判断所述待上传图片是否是合法图片类型;[〇〇75]服务器解析收到的待上传图片的base64字符串,可以得到待上传图片的扩展名, 该扩展名能够代表图片的格式类型,进一步地根据图片格式类型判断待上传图片是否合法。[0〇76]具体地,如果所述图片格式类型不是image/p jpeg、image/jpeg、image/x-png、;[1]1&86/^]^、;[1]^86/]>8中的一种,贝11判断为不合法图片类型。
[0077]S23、如果所述待上传图片为合法图片类型,则生成所述待上传图片的文件地址;
[0078]具体地,通过md5随机数的方式生成一个唯一的16位字符串,加上所述解码得到图片格式类型,并再加上所述服务器的地址,从而生成所述待上传图片的文件地址。
[0079]如果所述待上传图片为不合法图片类型,则不保存该图片的数据,并向客户端反馈该待上传图片不合法的信息,提示用户通过客户端重新上传图片。
[0080]S24、将所述待上传图片的base64字符串转化为二进制流文件,并根据所述文件地址保存所述二进制流文件。[0081 ]具体地,通过PHP的imagecreatefromstring函数将所述待上传图片的base64字符串转化为二进制流文件,然后通过Imagejpeg函数把所述二进制流文件保存到所述服务器中所述文件地址所对应的存储空间。
[0082]本发明实施例中,接收客户端通过HTML5页面上传的图片,当判断图片格式类型合法时,将上述图片保存到服务器。从而为在智能终端中通过浏览器或支持HTML5的应用程序提供了一种通过HTML5页面上传图片的方案,降低了开发成本。
[0083]在本发明另加一实施例中,如图4所示,提供了一种客户端,包括图片上传指令获取模块11、待上传图片名称获取模块12以及图片上传模块13,其中:
[0084]所述图片上传指令获取模块11,用于接收通过HTML5页面下发的图片上传指令;
[0085]所述待上传图片名称获取模块12,用于获取待上传图片的名称;[〇〇86]所述图片上传模块13,用于根据所述图片上传指令调用嵌入HTML5页面的图片上传程序,根据所述待上传图片的名称,利用所述图片上传程序将待上传图片上传到服务器。 [〇〇87]进一步地,如图5所示,所述图片上传模块13具体包括二进制读取模块131、base64 字符串转化模块132、赋值模块133以及上传模块134,其中:
[0088]所述二进制读取模块131,用于按二进制流方式读取待上传图片;[〇〇89]所述base64字符串转化模块132,用于将读取的二进制格式的待上传图片转化为 base64字符串;
[0090]所述赋值模块133,用于将base64字符串赋值给HTML5页面中的input标签;
[0091]所述上传模块134,用于通过HTML5的表单提交,把base64字符串上传到服务器。 [〇〇92]本发明实施例中,通过HTML5页面提供一种图片上传方案,利用HTML5页面中内嵌的图片上传程序,读取待上传图片并通过数据格式的转换,通过HTML5页面中的input标签将待上传图片上传到服务器。从而为在智能终端中通过浏览器或支持HTML5的应用程序提供了一种通过HTML5页面上传图片的方案,降低了开发成本。
[0093]在本发明另加一实施例中,如图6所示,提供了一种服务器,其特征在于,包括接收模块21、图片格式判断模块22、文件地址生成模块23以及图片保存模块24,其中:[〇〇94]所述接收模块21,用于接收客户端上传的待上传图片的base64字符串;
[0095]所述图片格式判断模块22,用于获取所述待上传图片的图片格式类型,根据所述图片格式类型判断所述待上传图片是否是合法图片类型;[〇〇96]所述文件地址生成模块23,用于如果所述待上传图片为合法图片类型,则生成所述待上传图片的文件地址;[〇〇97]具体地,所述文件地址生成模块22具体用于:通过md5随机数的方式生成一个唯一的16位字符串,加上所述解码得到图片格式类型,并再加上所述服务器的地址,从而生成所述待上传图片的文件地址。[〇〇98]所述图片保存模块24,用于将所述待上传图片的base64字符串转化为二进制流文件,并根据所述文件地址保存所述二进制流文件。
[0099]具体地,所述图片保存模块24具体用于:通过PHP的imagecreatefromstring函数将所述待上传图片的base64字符串转化为二进制流文件,然后通过Image Jpeg函数把所述二进制流文件保存到所述服务器中所述文件地址所对应的存储空间。
[0100]本发明实施例中,接收客户端通过HTML5页面上传的图片,当判断图片格式类型合法时,将上述图片保存到服务器。从而为在智能终端中通过浏览器或支持HTML5的应用程序提供了一种通过HTML5页面上传图片的方案,降低了开发成本。
[0101]在本发明另加一实施例中,如图7所示,还提供了一种智能终端,包括处理器31和存储器32,其中:
[0102]所述存储器32,用于存储待上传图片;[〇1〇3]所述处理器31,用于接收通过HTML5页面下发的图片上传指令;获取待上传图片的名称;并根据所述图片上传指令调用嵌入HTML5页面的图片上传程序,根据所述待上传图片的名称,利用所述图片上传程序将待上传图片上传到服务器。[〇1〇4]本发明实施例中,通过HTML5页面提供一种图片上传方案,利用HTML5页面中内嵌的图片上传程序,读取待上传图片并通过数据格式的转换,通过HTML5页面中的input标签将待上传图片上传到服务器。从而为在智能终端中通过浏览器或支持HTML5的应用程序提供了一种通过HTML5页面上传图片的方案,降低了开发成本。[〇1〇5] 在本发明另加一实施例中,如图8所示,还提供了一种服务器,包括处理器41和存储器42,其中:[〇1〇6]所述处理器31,用于接收客户端上传的待上传图片的base64字符串;获取所述待上传图片的图片格式类型,根据所述图片格式类型判断所述待上传图片是否是合法图片类型;如果所述待上传图片为合法图片类型,则生成所述待上传图片的文件地址;将所述待上传图片的base64字符串转化为二进制流文件,并根据所述文件地址保存所述二进制流文件;
[0107]所述存储器32,用于存储所述二进制流文件的待上传图片。
[0108]在本发明实施例中,处理器为该智能终端或服务器的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储单元内的软件程序和/或模块,以及调用存储在存储单元内的数据,以执行电子设备的各种功能和/或处理数据。所述处理器可以由集成电路组成,也可以由连接多颗相同功能或不同功能的封表集成芯片而组成。即处理器可以是GPU、数字信号处理器、及通信单元中的控制芯片的组合。
[0109]专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。 这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。 专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所述的计算机软件可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、 只读存储记忆体或随机存储记忆体等。
[0110]在本发明实施例中,所述智能终端包括但不限于智能手机、平板电脑、智能手表及智能手环等。
[0111]本发明实施例中,接收客户端通过HTML5页面上传的图片,当判断图片格式类型合法时,将上述图片保存到服务器。从而为在智能终端中通过浏览器或支持HTML5的应用程序提供了一种通过HTML5页面上传图片的方案,降低了开发成本。[〇112]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种图片上传方法,其特征在于,包括:接收通过HTML5页面下发的图片上传指令;获取待上传图片的名称;根据所述图片上传指令调用嵌入HTML5页面的图片上传程序,根据所述待上传图片的 名称,利用所述图片上传程序将待上传图片上传到服务器。2.如权利要求1所述的图片上传方法,其特征在于,所述利用所述图片上传程序将待上 传图片上传到服务器具体为:按二进制流方式读取待上传图片;将读取的二进制格式的待上传图片转化为base64字符串;将base64字符串赋值给HTML5页面中的input标签;通过HTML5的表单提交,把base64字符串上传到服务器。3.—种图片上传方法,其特征在于,包括:接收客户端上传的待上传图片的base64字符串;获取所述待上传图片的图片格式类型,根据所述图片格式类型判断所述待上传图片是 否是合法图片类型;如果所述待上传图片为合法图片类型,则生成所述待上传图片的文件地址;将所述待上传图片的base64字符串转化为二进制流文件,并根据所述文件地址保存所 述二进制流文件。4.如权利要求3所述的图片上传方法,其特征在于,所述生成所述待上传图片的文件地 址,具体为:通过md5随机数的方式生成一个唯一的16位字符串,加上所述解码得到图片格式类型, 并再加上所述服务器的地址,从而生成所述待上传图片的文件地址。5.如权利要求3或4所述的图片上传方法,其特征在于,所述将所述待上传图片的 base64字符串转化为二进制流文件,并根据所述文件地址保存所述二进制流文件,具体为:通过PHP的;[1]^86(^63七6;1^011181:1';[1^函数将所述待上传图片的匕38664字符串转化为二 进制流文件,然后通过Imagejpeg函数把所述二进制流文件保存到所述服务器中所述文件 地址所对应的存储空间。6.—种客户端,其特征在于,包括图片上传指令获取模块、待上传图片名称获取模块以 及图片上传模块,其中:所述图片上传指令获取模块,用于接收通过HTML5页面下发的图片上传指令;所述待上传图片名称获取模块,用于获取待上传图片的名称;所述图片上传模块,用于根据所述图片上传指令调用嵌入HTML5页面的图片上传程序, 根据所述待上传图片的名称,利用所述图片上传程序将待上传图片上传到服务器。7.如权利要求6所述的客户端,其特征在于,所述图片上传模块具体包括二进制读取模 块、base64字符串转化模块、赋值模块以及上传模块,其中:所述二进制读取模块,用于按二进制流方式读取待上传图片;所述base64字符串转化模块,用于将读取的二进制格式的待上传图片转化为base64字 符串;所述赋值模块,用于将base64字符串赋值给HTML5页面中的input标签;所述上传模块,用于通过HTML5的表单提交,把base64字符串上传到服务器。8.—种服务器,其特征在于,包括接收模块、图片格式判断模块、文件地址生成模块以 及图片保存模块,其中:所述接收模块,用于接收客户端上传的待上传图片的base64字符串;所述图片格式判断模块,用于获取所述待上传图片的图片格式类型,根据所述图片格 式类型判断所述待上传图片是否是合法图片类型;所述文件地址生成模块,用于如果所述待上传图片为合法图片类型,则生成所述待上 传图片的文件地址;所述图片保存模块,用于将所述待上传图片的base64字符串转化为二进制流文件,并 根据所述文件地址保存所述二进制流文件。9.如权利要求8所述的服务器,其特征在于,所述文件地址生成模块具体用于:通过md5随机数的方式生成一个唯一的16位字符串,加上所述解码得到图片格式类型, 并再加上所述服务器的地址,从而生成所述待上传图片的文件地址。10.如权利要求8或9所述的服务器,其特征在于,所述图片保存模块具体用于:通过PHP的;[1]^86(^63七6;1^011181:1';[1^函数将所述待上传图片的匕38664字符串转化为二 进制流文件,然后通过Imagejpeg函数把所述二进制流文件保存到所述服务器中所述文件 地址所对应的存储空间。
【文档编号】H04L29/08GK106027608SQ201610291990
【公开日】2016年10月12日
【申请日】2016年5月5日
【发明人】张朝兵, 李东波
【申请人】武汉斗鱼网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1