您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 基于flash的图片压缩和上传工具
1为了方便贵公司的沟通,以使贵公司的专利申请尽早完成,烦请填写下表。专利申请技术交底书发明人基本资料第一发明人(对本发明做出最大贡献的人)姓名王秋石电话18221114203电子信箱sofockwang@anjuke.com第二发明人(对本发明做出次要贡献的人)姓名电话电子信箱其它发明人(对本发明做出次要贡献的人)姓名电话其它联系方式申请人基本资料第一申请人名称安红亮地址、电话上海市浦东新区陆家嘴环路166号未来资产大厦10、11楼13795219626邮编200120单位代码2第二申请人(如果仅有一个此项不填)名称地址、电话邮编单位代码其它申请人(如果仅有二个此项不填)名称地址、电话邮编单位代码贵方案号:我方案号:以上资料在申请专利时具有重要意义,请详细填写。上海浦一知识产权代理有限公司一、发明名称((简单、准确地表明发明创造专利申请请求保护的主题和类型,一般不得超过25个字))基于flash的图片压缩和上传工具二、技术领域(说明发明或实用新型技术方案所属或直接应用的具体技术领域)[0001]需要上传图片的领域(或者文件上传,只有图片才能压缩大小)三、背景技术(写明对发明或实用新型的理解、检索、审查有用的背景技术,并且引证反映这些背景技术的文件,客观地指出背景技术中存在的问题和缺点。)3[0002]JPEG:JointPhotographicExpertsGroup(联合图像专家小组))的缩写。JPEG的压缩方式通常是破坏式资料压缩(lossycompression),意即在压缩过程中图像的品质会遭受到可见的破坏[0003]浏览器:万维网(Web)服务的客户端浏览程序。可向万维网(Web)服务器发送各种请求,并对从服务器发来的超文本信息和各种多媒体数据格式进行解释、显示和播放。[0004]FLASH:Flash是由macromedia公司推出的交互式矢量图和Web动画的标准[0005]FLEX:Flex通常是指AdobeFlex,是最初由Macromedia公司在2004年3月发布的,基于其专有的MacromediaFlash平台,它是涵盖了支持RIA(RichInternetApplications)的开发和部署的一系列技术组合。flex的另一个意思是一款生成扫描器的工具,能够识别文本中的词法模式。[0006]HTTP:一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。[0007]SOCKET:通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。[0008]80端口:默认运行http协议的端口[0009]843端口:用于提供flash安全socket连接的默认端口[0010]multi-part/form-data:http协议的文件上传方式[0011]JPEGEncoder:flash提供把DisplayObject压缩成二进制流的一4个工具包,DisplayObject是址flash中可以显示的对象,比如loader,button,image,等等[0012]BitMap:亦称为点阵图像或绘制图像,是由称作像素(图片元素)的单个点组成的[0013]FileReference:flash提供的可以和本地电脑文件交互的类,只能负责上传图片,但不能将图片的大小进行压缩四、发明内容:1、要解决的技术问题(针对现有技术存在的技术问题,提出本发明要解决的技术问题。)[0014]本发明的目的是在客户端对用户上传的大图片进行压缩,来减少没必要的带宽和上传等待时间2、技术方案(清楚、完整地写明技术方案,包括解决本发明要解决的技术问题的全部必要技术特征。产品发明写明所采用的零件、部件、元器件,各零件、部件或元器件之间的连接关系或安装位置关系,相互之间的作用关系,对电学发明还应说明信号传递关系。方法发明写明该方法的操作过程、步骤。)5[0015]:通过FileReference类的show方法显示文件选择对话框,用户选择文件,用过FileReference类的file_select事件,获得用户选择的图片,判断用户选择的图片大小如果超出一个定义的值,进入压缩过程,FileReference类,是flash提供的可以和用户本地文件系统交互的类,[0016]调用FileReference的load方法,将图片加载进内存中,并添加加载完毕事件监听.[0017]压缩之前需要将图片用bitmap将图片画出来,bitmap是flash对bitmap格式的图片的一种支持[0018]由于大图片的像素通常达到4000-5000px,我们没必要需要这么大的尺寸,所以先通过Matrix矩阵变换类,将图片缩小至设定的值,bimap画出图片后,调用JPEGEncoder进行压缩.Matrix是flash提供的一种对图片变换的支持,可以对图片进行旋转,缩放,左移右移,它可以作为bitmap的draw方法的参数.JPEGEncoder是flash提供的可以把一个bitmapdata对象压缩成二进制流,而且压缩过程可以设定,压缩的质量.[0019]由于压缩需要一定的时间,ie系列的浏览器有卡的现象,所以需要寻找一个异步的压缩图片类,而且flash自带的JPEGEncoder类的压缩效率很低,所以采用JPEGEncoderIMP,该类采取Vector技术,并且可以异步的进行图片压缩,vector是flash10提供的一种强类型类似Array的一种数据结构,速度比Array要快,JPEGEncoderIMP是用vector对JPEGEncoder的改写,并且增加了异步压缩的功能.[0020]压缩之后得到图片的二进制流ByteArray,ByteArray是flash提供的对二进制流支持的一个数据类型6[0021]因为只能得到一个二进制流,所以不再能通过FileReference类的upload方法进行上传,而且如果通过定义一个request对象的时候,对Content-Type设置multi-part属性的时候,需要用户的事件触发,这种方式不可取,如果将二进制流直接传回给php的话,接收图片的服务端需要重写接口,兼容性也不是很好,所以最终采用socket来封装http协议进行上传[0022]由于需要通过socket来连接服务器,所以需要通过在服务端开启843端口来返回,服务器的域名允许范围3、有益效果[0023]用户上传大图片的时候,需要等待时间过长,而且占用大量带宽,增加服务器压力,并且由于上传时间过长,上传成功率,大大降低,采取这种方式压缩后,10M的图片可以在很短的时间内压缩到2M,解决了上述的所有问题7五、附图及附图说明(提供能反映本发明技术方案的必要附图,对图中的零部件,标示相应标号,必要时也可提供有关现有技术附图。)[0024]图片压缩上传流程8910六、具体实施方式(详细描述申请人认为实现发明或实用新型的优选的具体实施方式,适当情况下,应当举例说明,有附图的,应当对照附图。应当体现申请中解决技术问题所采用的技术方案,并对技术方案中的技术特征给予详细说明,使本领域的技术人员按照所描述的内容能够重现发明或实用新型,不必再花费创造性劳动。)11[0025]复制swfupload.swf,swfupload.js,swfupload.queue.js到任意可访问目录[0026]页面引入上述的两个js文件,通过js设定配置,如一些回调函数,上传文件的接收php地址等[0027]设置flash显示的图片[0028]php文件放到设定的位置[0029]打开浏览器,访问显示swfupload.swf的页面,点击flash即可上传[0030]选择一个10M的图片,即可看见flash将对图片进行压缩七、权利要求书(申请人通过本发明想要保护的内容)12[0031]本发明保护的内容是这种采用flash作中间转换的图片压缩和图片上传的方式
本文标题:基于flash的图片压缩和上传工具
链接地址:https://www.777doc.com/doc-2569525 .html