书签 分享 收藏 举报 版权申诉 / 10

一种图片压缩上传的方法和系统.pdf

  • 上传人:00062****4422
  • 文档编号:4065780
  • 上传时间:2018-08-13
  • 格式:PDF
  • 页数:10
  • 大小:522.28KB
  • 摘要
    申请专利号:

    CN201510012685.6

    申请日:

    2015.01.09

    公开号:

    CN104580804A

    公开日:

    2015.04.29

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    专利权人的姓名或者名称、地址的变更IPC(主分类):H04N 1/00变更事项:专利权人变更前:中科宇图天下科技有限公司变更后:中科宇图科技股份有限公司变更事项:地址变更前:100101 北京市朝阳区安翔北里甲11号B座2层变更后:100101 北京市朝阳区安翔北里甲11号B座2层|||著录事项变更IPC(主分类):H04N 1/00变更事项:发明人变更前:白东伟 李淼泉 房明 陆菲 胡伟变更后:白东伟 李淼泉 侯立涛 曹世凯 房明|||授权|||实质审查的生效IPC(主分类):H04N 1/00申请日:20150109|||公开

    IPC分类号:

    H04N1/00

    主分类号:

    H04N1/00

    申请人:

    中科宇图天下科技有限公司

    发明人:

    白东伟; 李淼泉; 房明; 陆菲; 胡伟

    地址:

    100101北京市朝阳区安翔北里甲11号B座2层

    优先权:

    专利代理机构:

    北京市盛峰律师事务所11337

    代理人:

    于国富

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种图片压缩上传的方法和系统,涉及移动执法现场证物上传技术领域。本发明通过现场执法移动端对单个图片进行分段压缩,分段上传,后台服务器分段接收,再合并的方式,实现图片的压缩上传,通过循环遍历所有的图片,实现对所有图片的压缩上传,由于分段压缩的文件小,所以上传速度快,消耗的流量低,且对网络的要求比较低,不会受到网络稳定性的影响,可以实现顺畅的传输,从而保证了执法过程的顺利进行。

    权利要求书

    权利要求书1.  一种图片压缩上传的方法,其特征在于,包括如下步骤:S1,获取单个待上传的图片;S2,将所述图片以字节流的形式写入文件中,形成流文件;S3,判断所述流文件的大小,如果所述流文件的大小达到阈值,则对所述流文件进行标记并上传,同时执行S4;如果所述流文件的大小未达到阈值,则对所述流文件进行上传,同时执行S6;S4,循环执行S2-S3,直至遍历所述图片,得到所述图片的多个流文件,并将所述多个流文件标记并上传;S5,服务器将所述多个流文件按照所述标记进行合并,生成所述图片的完整的流文件;S6,重复S1-S5,循环遍历所有待上传的图片。2.  根据权利要求1所述的图片压缩上传的方法,其特征在于,采用多线程的处理方式。3.  根据权利要求1所述的图片压缩上传的方法,其特征在于,S2采用质量压缩法和图片按比例大小压缩法中的至少一种。4.  根据权利要求3所述的图片压缩上传的方法,其特征在于,所述图片按比例大小压缩法包括根据路径获取图片并压缩法和根据Bi tmap图片压缩法。5.  根据权利要求1所述的图片压缩上传的方法,其特征在于,S2中,所述字节流的大小为3072-4096字节。6.  根据权利要求5所述的图片压缩上传的方法,其特征在于,S2中,所述字节流的大小为4096字节。7.  根据权利要求1所述的图片压缩上传的方法,其特征在于,S3中,所述阈值为512-2048kb。8.  根据权利要求7所述的图片压缩上传的方法,其特征在于,S2中,所述阈值为2048kb。9.  根据权利要求1-8任一项所述的图片压缩上传的方法,其特征在于,S6之后,还包括步骤,将所述图片的压缩文件解压缩,得到原始的图片。10.  一种图片压缩上传的系统,其特征在于,包括客户端和后台服务器,所述客户端包括图片生成模块、图片压缩模块和流文件上传模块;所述后台服务器包括流文件接收模块和流文件合并模块;所述图片生成模块用于获取待传输的图片;所述图片压缩模块用于将所述图片以字节流的形式写入文件中,形成所述图片的流文件;所述流文件上传模块用于对所述流文件进行标记并上传;所述流文件接收模块用于接收所述流文件;所述流文件合并模块用于将所有的所述流文件按照所述标记进行合并,生成所述图片的压缩文件。

    说明书

    说明书一种图片压缩上传的方法和系统
    技术领域
    本发明涉及移动执法现场证物上传技术领域,尤其涉及一种图片压缩上传的方法和系统。
    背景技术
    为了保证办案时调取的证物与现场执法过程中采集到的证物相一致,提高执法过程的公开度和透明度,一般要求现场执法人员将在现场取得的证物直接拍照,再将照片上传至中心服务器,以备查看。
    目前,现场执法人员一般使用手机拍照,并将照片保存至本地,待网络稳定时,再将照片进行压缩后上传至中心服务器。
    但是由于图片传输对网络传输速度的要求较高,所以,当现场证物图片较多时,即使图片进行了压缩,得到的压缩文件还是比较大,则在图片上传过程中,会出现上传速度慢,耗时长,甚至中断,无法上传的情况,从而使得移动执法现场的证物图片无法顺利的上传,影响执法过程的顺利进行。
    发明内容
    本发明的目的在于提供一种图片压缩上传的方法和系统,从而解决现有技术中存在的前述问题。
    为了实现上述目的,本发明采用的技术方案如下:
    一种图片压缩上传的方法,包括如下步骤:
    S1,获取单个待上传的图片;
    S2,将所述图片以字节流的形式写入文件中,形成流文件;
    S3,判断所述流文件的大小,如果所述流文件的大小达到阈值,则对所述流文件进行标记并上传,同时执行S4;如果所述流文件的大小未达到阈值,则对所述流文件进行上传,同时执行S6;
    S4,循环执行S2-S3,直至遍历所述图片,得到所述图片的多个流文件,并将所述多个流文件标记并上传;
    S5,服务器将所述多个流文件按照所述标记进行合并,生成所述图片的完整 的流文件;
    S6,重复S1-S5,循环遍历所有待上传的图片。
    优选地,采用多线程的处理方式。
    优选地,S2采用质量压缩法和图片按比例大小压缩法中的至少一种。
    具体地,所述图片按比例大小压缩法包括根据路径获取图片并压缩法和根据Bitmap图片压缩法。
    优选地,S2中,所述字节流的大小为3072-4096字节。
    更优选地,S2中,所述字节流的大小为4096字节。
    优选地,S3中,所述阈值为512-2048kb。
    更优选地,S2中,所述阈值为2048kb。
    进一步地,S6之后,还包括步骤,将所述图片的压缩文件解压缩,得到原始的图片。
    一种图片压缩上传的系统,包括
    客户端和后台服务器,
    所述客户端包括图片生成模块、图片压缩模块和流文件上传模块;
    所述后台服务器包括流文件接收模块和流文件合并模块;
    所述图片生成模块用于获取待传输的图片;
    所述图片压缩模块用于将所述图片以字节流的形式写入文件中,形成所述图片的流文件;
    所述流文件上传模块用于对所述流文件进行标记并上传;
    所述流文件接收模块用于接收所述流文件;
    所述流文件合并模块用于将所有的所述流文件按照所述标记进行合并,生成所述图片的压缩文件。
    本发明的有益效果是:本发明通过现场执法移动端对单个图片进行分段压缩,分段上传,后台服务器分段接收,再合并的方式,实现图片的压缩上传,由于分段压缩的文件小,所以上传速度快,消耗的流量低,且对网络的要求比较低,不会受到网络稳定性的影响,可以实现顺畅的传输,从而保证了执法过程的顺利进行。
    附图说明
    图1是本发明实施例提供的图片压缩上传的方法流程示意图;
    图2是本发明实施例提供的图片压缩上传的系统结构示意图。
    具体实施方式
    为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
    实施例一
    如图1所示,本发明实施例提供了一种图片压缩上传的方法,包括如下步骤:
    S1,获取单个待上传的图片;
    S2,将所述图片以字节流的形式写入文件中,形成流文件;
    S3,判断所述流文件的大小,如果所述流文件的大小达到阈值,则对所述流文件进行标记并上传,同时执行S4;如果所述流文件的大小未达到阈值,则对所述流文件进行上传,同时执行S6;
    S4,循环执行S2-S3,直至遍历所述图片,得到所述图片的多个流文件,并将所述多个流文件标记并上传;
    S5,服务器将所述多个流文件按照所述标记进行合并,生成所述图片的完整的流文件;
    S6,重复S1-S5,循环遍历所有待上传的图片。
    在实际执行过程中,现场执法人员可以通过手机将取得的物证或其他资料进行拍照,或者直接浏览获取需要上传的图片,并保存至本地,生成待上传的文件。
    为了提高压缩速率和上传速率,保证在网络不够稳定的情况下也能顺利的完成文件的传输,并能够提高传输速率,减小传输所用的流量,本发明实施例中,对单个图片进行分段压缩,达到设定的阈值大小后,将该压缩文件进行标记并上传,如果一次压缩,没有将整个图片压缩完成,则在上传的同时,继续对图片继续压缩,遍历整个图片,循环上述操作,从而将一个图片压缩为多个分解的文件,并且为了提高压缩上传速度,将压缩和上传过程进行异步加载;所有 的分解文件均传输至服务器上后,再对所有的分解文件进行合并,得到完整的图片压缩文件。从而完成完整图片的压缩上传。
    对一个完整图片进行压缩上传完成之后,再遍历其他的图片,循环上述操作,完成对所有图片的压缩上传。
    上述方法中,由于压缩和上传过程中,每次需要处理的文件比较小,因此,可以极大的提高速度,而且可以极大的降低对网络稳定性的要求,能够保证所有分解文件的顺利传输。
    本发明实施例提供的图片压缩上传的方法,可以采用多线程的处理方式。从而可以进一步提高压缩上传速度,进而保证需要上传的文件能够在网络稳定的情况下尽快的将待传输的文件传输完成。
    比如,待上传的图片为6个,则在实际执行过程中,可以设置6个线程,每个线程均只对一个图片执行上述压缩上传的方法;还可以设置3个线程,则每个线程对两个图片执行上述压缩上传的方法;也可以设置2个线程,则每个线程对三个图片执行上述压缩上传的方法。当然,如本领域技术人员可以理解的,也可以设置1个线程,则6个图片均在该线程中进行处理。
    本发明实施例中,S2采用质量压缩法和图片按比例大小压缩法中的至少一种。其中,图片按比例大小压缩法包括根据路径获取图片并压缩法和根据Bitmap图片压缩法。
    本发明实施例中,对图片进行压缩时,可以采用质量压缩法,也可以采用根据路径获取图片并压缩法和质量压缩法结合,还可以采用根据Bitmap图片压缩法和质量压缩法结合。两种压缩方法结合,对图片进行压缩,可以进一步减小压缩文件,从而提高压缩和上传速度。
    质量压缩法:
    ByteArrayOutputStream baos=new ByteArrayOutputStream();image.compress(Bit map.compressformat.JPEG,100,baos),这里100表示不压缩,把压缩后的数据放到baos中。Int option=100,while(baos.toByteArray().length/1024>100),循环判断如果压缩后图片是否大于100kb,如果大于继续压缩。Baos.reset().重置baos即清 空image.compress(Bitmap.CompressFormat.JPEG,options,baos);这里压缩options%,把压缩后的数据存放到baos中options-=10;每次都减少10}。ByteArrayInputStream isBm=new ByteArrayInputStream(baos.toByteArray());把压缩后的数据baos存放到ByteArrayInputStream中Bitmap bitmap=BitmapFactory.decodeStream(isBm,null,null);把ByteArrayInputStream数据生成图片return bitmap。
    根据路径获取图片并压缩:
    BitmapFactory.Options newOpts=new BitmapFactory.Options();开始读入图片,此时把options.inJustDecodeBounds设回true了,
    newOpts.inJustDecodeBounds=true;Bitmap bitmap=BitmapFactory.decodeFile(srcPath,newOpts);此时返回bm为空
    newOpts.inJustDecodeBounds=false;int w=newOpts.outWidth;
    int h=newOpts.outHeight;现在主流手机比较多是800*480分辨率,所以高和宽我们设置为float hh=800f;设置高度为800f float ww=480f;设置宽度为480f缩放比。由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可int be=1;be=1表示不缩放if(w>h&&w>ww){如果宽度大的话根据宽度固定大小缩放,be=(int)(newOpts.outWidth/ww);}else if(w<h&&h>hh){如果高度高的话根据宽度固定大小缩放,
    be=(int)(newOpts.outHeight/hh);if(be<=0)be=1;
    newOpts.inSampleSize=be;设置缩放比例,重新读入图片,注意此时已经
    把options.inJustDecodeBounds设回false了,
    bitmap=BitmapFactory.decodeFile(srcPath,newOpts);
    return compressImage(bitmap);压缩好比例大小后再进行质量压缩。
    根据Bitmap图片压缩:
    判断如果图片大于1M,进行压缩避免在生成图片时溢出,重置对象,设置压缩比例,将保存后的图片放到对象中。设置缩放比,由于是固定比例缩放,只用高或者宽其中一个数据进行计算即可,判断图片的宽度,如果宽度大的话根据宽度固定大小缩放,判断高度,如果高度高的话根据宽度固定大小缩放,设 置缩放比例,重新读入图片,注意此时已经把options.inJustDecodeBounds设回false了,压缩好比例大小后再进行质量压缩。
    本发明实施例中,S2中,所述字节流的大小为3072-4096字节,对于NTFS文件系统来说,默认的分配单元大小(簇大小)是4096字节,由于簇是硬盘上存储信息的最小单元(就是说一个簇不能同时给两个文件用),因此哪怕存储一个字节的文件,也要占用一个簇的大小(4096字节);而当保存一个4097字节的文件时,由于它大于一个簇,就会在磁盘上占用两个簇(8192字节),如果太小又会浪费磁盘容量,因此字节流大小应该控制在3072-4096字节之间。
    在图片压缩过程中,字节流大小可以根据图片本身的大小、网络的稳定性和手机客户端的性能等进行选择和设定。比如,如果图片本身比较大,则可以选择比较大的字节流,如果网络稳定性不好,则可以设定比较小的字节流,如果手机客户端的性能比较好,读取数据的速度比较快,则可以选择比较大的字节流。
    本发明实施例中,S2中,所述字节流的大小为4096字节。
    因为在本系统是NTFS文件系统,默认的分配单元大小(簇大小)是4096字节,因此为了硬盘资源的充分利用选择4096字节。
    本发明实施例中,S3中,所述阈值为512-2048kb
    理论上是文件越小越上传越快,但是频繁的分割也会影响速度。由于网站的上传上限限制,大于网站上限将无法上传。所以要将图片文件分割成512-2048kb范围内(一般论坛附件选择的范围)。
    本发明实施例中,S3中,所述阈值为2048kb。
    由于本系统上传限制为2048kb,所以选择分割成2048kb大小的文件进行上传,减少分割的频率并提高上传的速度。
    本发明实施例中,S6之后,还包括步骤,将所述图片的压缩文件解压缩,得到原始的图片。
    执法人员为了办案需求,要查看压缩文件时,可以对其解压缩,得到原始图片。
    实施例二
    如图2所示,本发明实施例提供了一种图片压缩上传的系统,包括
    客户端和后台服务器,
    所述客户端包括图片生成模块、图片压缩模块和流文件上传模块;
    所述后台服务器包括流文件接收模块和流文件合并模块;
    所述图片生成模块用于获取待传输的图片;
    所述图片压缩模块用于将所述图片以字节流的形式写入文件中,形成所述图片的流文件;
    所述流文件上传模块用于对所述流文件进行标记并上传;
    所述流文件接收模块用于接收所述流文件;
    所述流文件合并模块用于将所有的所述流文件按照所述标记进行合并,生成所述图片的压缩文件。
    本发明实施例提供的图片压缩上传的方法和系统,可以用于环保执法过程中,进行下发任务和取证结果上传。其中,下发任务:在总队领导进行任务下发时,会将任务相关的附件通过拍照的形式将图片下发下去,在下发给执法人员的同时,先将图片上传至服务器,该执法人员收到任务之后,在服务器上进行获取。从而达到下发人和执行人都能看到同一个任务附件;结果上传:在进行现场执法的时候,会进行现场勘查取证,执法人员手持PDA或手机,将现场取证的图片与笔录信息一同上传,上传至服务器,待审核之后进行立案或者归档。
    本发明实施例提供的图片压缩上传的方法和系统,具有下述功能或作用:第一,保存文件,使前后台数据保持一致,同步数据,在手机端如果误操作,将文件不小心删除,还可以通过同步数据的方式从后台获取文件;第二,图片进行压缩之后,不仅缩小了图片大小,而且提高了上传速度,减少了手机数据流量的使用;第三,保存了图片的完整性和真实性,达到取证真实有效。
    通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明通过现场执法移动端对单个图片进行分段压缩,分段上传,后台服务器分段接收,再合并的方式,实现图片的压缩上传,由于分段压缩的文件小,所以上传速度快,消耗的流量低,且对网络的要求比较低,不会受到网络稳定性的影响,可以实现顺畅的传输,从而保证了执法过程的顺利进行。
    本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
    本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。
    上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
    最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
    以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

    关 键  词:
    一种 图片 压缩 上传 方法 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种图片压缩上传的方法和系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4065780.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1