一种物联网流量卡的实名照片上传方法及系统与流程

文档序号:12037968阅读:3434来源:国知局
一种物联网流量卡的实名照片上传方法及系统与流程

本发明涉及图像处理领域,尤其涉及一种物联网流量卡的实名照片上传方法及系统。



背景技术:

国家工信部、公安部规定,所有物联网流量卡都必须进行实名验证,实名认证系统是一个独立的框架,图片上传只是其中的一小部分环节,系统架构是由客户端软件、文件系统、缓存系统、消息队列和实名识别系统组成的。客户端有微信版和app版,文件系统负责图片文件存储、二次压缩、cdn加速和主从备份方案;缓存系统主要实现用户数据的缓存,解决对数据库高频繁读写i/o压力,通过把热数据放在内存来读写,每天定时集中写库的机制;消息队列为了解决客户端实名申请异步处理审核机制,按先进先出的方式调取审核任务接口,每笔处理完把结果推送给用户;实名识别系统是利用了印刷图文识别技术对身份证号码、姓名进行识别,再与用户提交上来的数据进行校验,一致就认为通过,不一致就不通过,不通过的申请都会丢到客服系统,人工对数据捡漏处理。

为了实现客户的自助实名,需要上传照片进行验证,在物联网卡实名的过程中,需要上传身份证照片验证,由于现在的手机像素越来越高,导致图片越来越大,上传时间变长,如果网络质量不好很可能会出现上传超时等不利情况,造成上传失败。

也就是说,现有的图片上传方式基本都是原图上传,如果图片过大或者网络质量不好,出现上传超时等异常情况的几率大大提升,且流量耗用也大幅增加。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供一种物联网流量卡的实名照片上传方法及系统,旨在解决现有技术中物联网流量卡上传方式容易上传失败、流量耗用大等问题。

本发明的技术方案如下:

一种物联网流量卡的实名照片上传方法,其中,包括步骤:

a、获取物联网流量卡的实名照片,并将实名照片转化为base64字符串;

b、新建或查找已创建的canvas标签并同比渲染base64字符串形成渲染图片;

c、通过canvas内置的方法,对渲染图片进行压缩;

d、将压缩后的渲染图片通过接口传输至后端。

所述的物联网流量卡的实名照片上传方法,其中,所述步骤a具体包括:

a1、首先获取需要上传的实名照片;

a2、通过onchange事件监听数据是否发生变化,当数据发生变化时,新建一个filereader的实例对象,并通过该实例对象的readasdataurl方法将实名照片转化为base64字符串。

所述的物联网流量卡的实名照片上传方法,其中,所述步骤b具体包括:

b1、通过canvas标签的标签id获取到该canvas标签,并将其定位于窗口之外;

b2、使用getcontext生成一个canvas的2d环境;

b3、通过drawimage渲染出等比大小的图片作为渲染图片。

所述的物联网流量卡的实名照片上传方法,其中,所述步骤c具体包括:

c1、使用todataurl对渲染图片进行压缩,压缩后的质量为原图的50%-70%;

c2、获取压缩后的渲染图片。

所述的物联网流量卡的实名照片上传方法,其中,所述步骤a之前,判断需上传的物联网流量卡的实名照片是否为jpeg格式,则是进入步骤a,否则直接上传实名照片。

一种物联网流量卡的实名照片上传系统,其中,包括:

转化模块,用于获取物联网流量卡的实名照片,并将实名照片转化为base64字符串;

渲染模块,用于新建或查找已创建的canvas标签并同比渲染base64字符串形成渲染图片;

压缩模块,用于通过canvas内置的方法,对渲染图片进行压缩;

传输模块,用于将压缩后的渲染图片通过接口传输至后端。

所述的物联网流量卡的实名照片上传系统,其中,所述转化模块具体包括:

实名照片获取单元,用于首先获取需要上传的实名照片;

转化单元,用于通过onchange事件监听数据是否发生变化,当数据发生变化时,新建一个filereader的实例对象,并通过该实例对象的readasdataurl方法将实名照片转化为base64字符串。

所述的物联网流量卡的实名照片上传系统,其中,所述渲染模块具体包括:

定位单元,用于通过canvas标签的标签id获取到该canvas标签,并将其定位于窗口之外;

生成单元,用于使用getcontext生成一个canvas的2d环境;

渲染单元,用于通过drawimage渲染出等比大小的图片作为渲染图片。

所述的物联网流量卡的实名照片上传系统,其中,所述压缩模块具体包括:

压缩单元,用于使用todataurl对渲染图片进行压缩,压缩后的质量为原图的50%-70%;

渲染图片获取单元,用于获取压缩后的渲染图片。

所述的物联网流量卡的实名照片上传系统,其中,还包括:

判断模块,用于判断需上传的物联网流量卡的实名照片是否为jpeg格式,则是进入转化模块,否则直接上传实名照片。

有益效果:本发明在上传前通过前段技术实现图片压缩,上传压缩后的图片,既可以减少用户的流量耗用,也可以缩短上传时间并节约服务器资源。相比现有的技术,本发明可以使实名认证更加自动化和流程化,减少人工处理的复杂度,和出错率。

附图说明

图1为本发明一种物联网流量卡的实名照片上传方法较佳实施例的流程图。

图2为本发明一种物联网流量卡的实名照片上传系统较佳实施例的结构框图。

具体实施方式

本发明提供一种物联网流量卡的实名照片上传方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,图1为本发明一种物联网流量卡的实名照片上传方法较佳实施例的流程图,如图所示,其包括步骤:

s1、获取物联网流量卡的实名照片,并将实名照片转化为base64字符串;

s2、新建或查找已创建的canvas标签并同比渲染base64字符串形成渲染图片;

s3、通过canvas内置的方法,对渲染图片进行压缩;

s4、将压缩后的渲染图片通过接口传输至后端。

通过本发明的方法,可以在上传前实现图片压缩,上传压缩后的图片,既可以减少用户的流量耗用,也可以缩短上传时间并节约服务器资源。

具体地,所述步骤s1具体包括:

s11、首先获取需要上传的实名照片;

s12、通过onchange事件监听数据是否发生变化,当数据发生变化时,新建一个filereader的实例对象,并通过该实例对象的readasdataurl方法将实名照片转化为base64字符串。

首先通过input标签file类型的功能让用户选择需要上传的物联网流量卡的实名照片,从而获取需要上传的实名照片;前端通过onchange事件监听该input标签的数据变化进行处理,当数据发生变化时,新建一个filereader的实例对象,并通过该实例对象的readasdataurl方法将实名照片转化为dataurl(base64字符串)。

使用onload事件监听文件是否读取转化完毕(即base64字符串是否转化完成),jquery代码示例如下

$(‘#file’).on(‘change’,function(){varfile=this.files[0];varfr=newfilereader();fr.readasdataurl(file);fr.onload=function(evt){varres=evt.taeget.result;//res="data:image/png;base64,ivborw0kggoaaaansuheugaaaauaaaafcayaaacnby"//...}}}),可以从结果中获取到图片,也可以获取到图片格式。

进一步,所述步骤s2具体包括:

s21、通过canvas标签的标签id获取到该canvas标签,并将其定位于窗口之外;

s22、使用getcontext生成一个canvas的2d环境;

s23、通过drawimage渲染出等比大小的图片作为渲染图片。

上述步骤中,通过canvas(画布)标签的标签id获取到该canvas标签,如:<canvasid=’cavnvas’></canvas>,并将其定位于窗口之外,使用getcontext(‘2d’)生成一个canvas的2d环境,并通过drawimage(0,0,’100%’,’100%’,0,0),渲染出等比大小的图片作为渲染图片。

当然,在进行渲染时,还检测实名照片的大小,如果该实名照片大于1mb,则等比渲染在画布上。

进一步,所述步骤s3具体包括:

s31、使用todataurl对渲染图片进行压缩,压缩后的质量为原图的50%-70%;

s32、获取压缩后的渲染图片。

上述步骤中,使用todataurl("image/jpeg",quality(注:这个值决定图片的质量,在0-1之间))对渲染图片进行压缩,由于canvas的显示目前只能实现jpeg格式图片的压缩,其他格式的图片暂不处理,但在绝大多数的情况下可以进行压缩。

上述过程中,通过canvas内置函数降低渲染图片的清晰度,一般降为原图的50%-70%,通过调取接口测试,使压缩后的渲染图片识别失败率低于5%,从而达到缩小图片的效果。

进一步,所述步骤s1之前,判断需上传的物联网流量卡的实名照片是否为jpeg格式,则是进入步骤s1,否则直接上传实名照片。即只针对jpeg格式的图片进行处理,其他格式直接上传即可。

本发明还提供一种物联网流量卡的实名照片上传系统较佳实施例,如图2所示,其包括:

转化模块100,用于获取物联网流量卡的实名照片,并将实名照片转化为base64字符串;

渲染模块200,用于新建或查找已创建的canvas标签并同比渲染base64字符串形成渲染图片;

压缩模块300,用于通过canvas内置的方法,对渲染图片进行压缩;

传输模块400,用于将压缩后的渲染图片通过接口传输至后端。

进一步,所述转化模块100具体包括:

实名照片获取单元,用于首先获取需要上传的实名照片;

转化单元,用于通过onchange事件监听数据是否发生变化,当数据发生变化时,新建一个filereader的实例对象,并通过该实例对象的readasdataurl方法将实名照片转化为base64字符串。

进一步,所述渲染模块200具体包括:

定位单元,用于通过canvas标签的标签id获取到该canvas标签,并将其定位于窗口之外;

生成单元,用于使用getcontext生成一个canvas的2d环境;

渲染单元,用于通过drawimage渲染出等比大小的图片作为渲染图片。

进一步,所述压缩模块300具体包括:

压缩单元,用于使用todataurl对渲染图片进行压缩,压缩后的质量为原图的50%-70%;

渲染图片获取单元,用于获取压缩后的渲染图片。

所述的物联网流量卡的实名照片上传系统,其还包括:

判断模块,用于判断需上传的物联网流量卡的实名照片是否为jpeg格式,则是进入转化模块,否则直接上传实名照片。

关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。

综上所述,本发明在上传前通过前段技术实现图片压缩,上传压缩后的图片,既可以减少用户的流量耗用,也可以缩短上传时间并节约服务器资源。相比现有的技术,本发明可以使实名认证更加自动化和流程化,减少人工处理的复杂度,和出错率。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1