图片上传方法、系统及浏览器的制造方法_2

文档序号:9547184阅读:来源:国知局
面中。
[0037]通过上述对图片数据的预压缩处理,可以减小图片的尺寸和体积大小,从而避免浏览器内核出现伪内存泄漏的情况出现。
[0038]本发明实施例中,并不是一定要在图片数据的大小超过了设定阈值时才可以对图片数据进行压缩,作为一个较好的实施例,本发明为了能够提高后续编码的效率,可以在判断得出所述图片数据的大小未超过设定阈值之后、对所述图片数据进行编码处理之前,统一对所述图片数据进行压缩处理,得到预设尺寸大小的图片数据。即在编码前首先将所有图片数据压缩为统一的尺寸和体积大小,这样可以方便后续的编码处理,提高编码效率,从而进一步的提高图片上传的效率。
[0039]实施例二
[0040]如图2所示,本实施例中示出一个包括用户端、浏览器、IE(Internet Explorer,网页浏览器)控件在内的多方交互流程时序过程。本实施例中的一种图片上传方法,包括以下步骤:
[0041]步骤S201,用户打开HTML5(Hyper Text Markup language,超文本标记语言)WEB页面;
[0042]步骤S202,浏览器执行正常页面解析显示流程;
[0043]步骤S203,IE控件(即WebBrowser控件)显示WEB页面内容;本发明实施例中,该IE控件具有进行网页的导航、显示、JS脚本注入、接收网页JS脚本通知等功能;
[0044]步骤S204,用户点击上传图片;
[0045]步骤S205,IE控件主动通知浏览器需要进行图片上传;
[0046]步骤S206,浏览器启动图片选择器,唤醒图片选择流程;
[0047]步骤S207,用户选择需要上传的图片;
[0048]步骤S208,浏览器进行图片数据获取、图片压缩处理,并将图片数据转换成base64编码格式,然后通过JS通知到IE控件中。具体的,可以通过系统AP1-WriteableBitmap.Render ()将图片数据进行压缩,然后通过系统AP1- Array.ToBase64 ()将图片数据转换成base64字符串格式,再经由WebBrowser.1nvokeScript ()将所述base64字符串传入WEB页面中供页面开发者自行调用;
[0049]步骤S209,IE控件通过页面JS获取相关图片信息,并发起正常图片上传流程,完成图片上传。
[0050]另外,与上述一种图片上传方法相对应,本发明还提供一种图片上传系统,如图3所示,包括:
[0051]图片选择启动模块101,用于当接收到在打开的WEB页面中上传图片的指令时,通过浏览器程序内预置的文件上传通知接口启动浏览器的图片选择流程;
[0052]图片数据获取模块102,用于在图片选择完成后,获取相应的图片数据;
[0053]图片上传模块103,用于将所述图片数据传入所述WEB页面中。
[0054]作为一个较好的实施例,所述图片上传模块可以包括:
[0055]判断模块,用于判断所述图片数据的大小是否超过设定阈值;
[0056]第一编码模块,用于在所述判断模块的判断结果为否的情况下,对所述图片数据进行编码处理,并将编码处理后的图片数据传入所述WEB页面中。
[0057]作为一个较好的实施例,所述图片上传模块还可以包括:
[0058]第一压缩模块,用于在所述判断模块的判断结果为是的情况下,对所述图片数据进行压缩处理,得到预设尺寸大小的图片数据;
[0059]第二编码模块,用于对压缩处理后的图片数据进行编码处理,并将编码处理后的图片数据传入所述WEB页面中。
[0060]作为一个较好的实施例,所述图片上传模块还可以包括:
[0061]第二压缩模块,用于在判断得出所述图片数据的大小未超过设定阈值之后、对所述图片数据进行编码处理之前,对所述图片数据进行压缩处理,得到预设尺寸大小的图片数据。
[0062]可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一编码模块称为第二编码模块,且类似地,可将第二编码模块称为第一编码模块。第一编码模块和第二编码模块两者都是编码模块,但其不是同一编码模块。
[0063]作为一个较好的实施例,所述第一编码模块可以包括:
[0064]字符串编码子模块,用于将所述图片数据编码成base64字符串,并将该base64字符串以JS对象的形式传入所述WEB页面中。
[0065]上述一种图片上传系统的其它技术特征与本发明的一种图片上传方法相同,此处不予赘述。
[0066]最后,本发明还提供一种浏览器,该浏览器中包括上述的图片上传系统。
[0067]作为一个较好的实施例,所述浏览器还可以包括:解析与显示模块,用于对打开的WEB页面进行解析,并显示WEB页面内容。
[0068]图4为能实现本发明实施例的一个计算机系统1000的模块图。该计算机系统1000只是一个适用于本发明的计算机环境的示例,不能认为是提出了对本发明的使用范围的任何限制。计算机系统1000也不能解释为需要依赖于或具有图示的示例性的计算机系统1000中的一个或多个部件的组合。
[0069]图4中示出的计算机系统1000是一个适合用于本发明的计算机系统的例子。具有不同子系统配置的其它架构也可以使用。例如有大众所熟知的个人数字助理、智能电话、平板电脑、便携式媒体播放器、机顶盒、笔记本等类似设备可以适用于本发明的一些实施例。但不限于以上所列举的设备。
[0070]如图4所示,计算机系统1000包括处理器1010、存储器1020和系统总线1022。包括存储器1020和处理器1010在内的各种系统组件连接到系统总线1022上。处理器1010是一个用来通过计算机系统中基本的算术和逻辑运算来执行计算机程序指令的硬件。存储器1020是一个用于临时或永久性存储计算程序或数据(例如,程序状态信息)的物理设备。系统总线1020可以为以下几种类型的总线结构中的任意一种,包括存储器总线或存储控制器、外设总线和局部总线。处理器1010和存储器1020可以通过系统总线1022进行数据通信。其中存储器1020包括只读存储器(ROM)或闪存(图中都未示出),以及随机存取存储器(RAM),RAM通常是指加载了操作系统和应用程序的主存储器。
[0071]计算机系统1000还包括显示接口 1030(例如,图形处理单元)、显示设备1040(例如,液晶显示器)、音频接口 1050(例如,声卡)以及音频设备1060(例如,扬声器)。显示设备1040和音频设备1060是用于体验多媒体内容的媒体设备。
[0072]计算机系统1000 —般包括一个存储设备1070。存储设备1070可以从多种计算机可读介质中选择,计算机可读介质是指可以通过计算机系统1000访问的任何可利用的介质,包括移动的和固定的两种介质。例如,计算机可读介质包括但不限于,闪速存储器(微型SD卡),CD-R0M,数字通用光盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或者可用于存储所需信息并可由计算机系统1000访问的任何其它介质。
[0073]计算机系统1000还包括输入装置1
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1