本发明专利技术提供了一种基于XMPP协议的图片传输方法,包括以下步骤:1)发送端选择本地图片进行发送,发送端在聊天列表里根据本地地址显示图片;2)发送端将图片上传至文件服务器,上传成功后,则接收文件服务器返回的图片的服务器地址,并携带有图片大小;3)发送端获取到服务器地址和相应图片大小后,将其封装到消息体内,同时消息体内有属性标明消息类型为图片,发送消息;4)接收方在收到消息体后,通过解析获取到图片的服务器地址及相应的图片大小,在消息列表中根据地址下载图片显示即可。本发明专利技术减少发送消息的消息体大小,只需在消息体中添加图片的文件服务器端地址即云端地址,而无需直接将二进制数据放入消息体,降低了发送失败的概率。
An image transmission method and device based on XMPP protocol
【技术实现步骤摘要】
一种基于XMPP协议的图片传输方法及装置
本专利技术属于即时通讯
,尤其是涉及一种基于XMPP协议的图片传输方法及装置。
技术介绍
随着移动互联网的不断发展,生活水平的不断提高,即时通讯(InstantMessaging)逐渐成为了主流的交流方式之一。作为IM中不可缺少的一部分,图片的发送和分享占据着很大一部分,因此,一种好的图片传输方法和保存方法是十分必要的,可以有效地提高用户在聊天过程中的用户体验。把图片通过一定比例压缩后,直接将图片的二进制数据流作为一个字段属性封装在消息体内发送出去,接收方在接收到消息后,通过获取二进制数据流来展示图片。直接将二进制数据流传输,可能导致数据量过大而发送失败。同时,接收方在接收到消息后,只能通过该数据流来展示图片,无法在原图和缩略图之间进行切换,有时会比较浪费流量和时间。
技术实现思路
有鉴于此,本专利技术旨在提出一种基于XMPP协议的图片传输方法及装置,减少发送消息的消息体大小,通过发送图片云端地址的方式来传输图片,避免了发送数据过大的问题。为达到上述目的,本专利技术的技术方案是这样实现的:一方面,本专利技术提供一种基于XMPP协议的图片传输方法,应用于终端,所述方法包括以下步骤:1)发送端选择本地图片进行发送,出现图片的本地路径,发送端在聊天列表里根据本地地址显示图片;2)发送端将图片上传至文件服务器,上传成功后,则接收文件服务器返回的图片的服务器地址,并携带有图片大小;3)发送端获取到服务器地址和相应图片大小后,将其封装到消息体内,同时消息体内有属性标明消息类型为图片,发送消息;4)接收方在收到消息体后,通过解析获取到图片的服务器地址及相应的图片大小,在消息列表中根据地址下载图片显示即可。进一步的,步骤2)中上传成功后,则接收文件服务器返回的图片的服务器地址和文件服务器生成的缩略图的服务器地址,并携带有图片和缩略图的大小;步骤6)中,通过解析获取到图片的原图或者缩略图地址,及相应的图片大小。进一步的,步骤3)中消息体以JSON的格式发送。另一方面,本专利技术提供一种基于XMPP协议的图片传输终端,当所述终端作为发送端,所述发送端选择本地图片进行发送,出现图片的本地路径,发送端在聊天列表里根据本地地址显示图片;发送端将图片上传至文件服务器,上传成功后,则接收文件服务器返回的图片的服务器地址,并携带有图片大小;发送端获取到服务器地址和相应图片大小后,将其封装到消息体内,同时消息体内有属性标明消息类型为图片,发送消息;当所述终端作为接收端,所述接收端在收到消息体后,通过解析获取到图片的服务器地址及相应的图片大小,在消息列表中根据地址下载图片显示即可。进一步的,发送端上传成功后,则接收文件服务器返回的图片的服务器地址和文件服务器生成的缩略图的服务器地址,并携带有图片和缩略图的大小;接收端通过解析获取到图片的原图或者缩略图地址,及相应的图片大小。相对于现有技术,本专利技术所述方法及终端均具有以下优势:(1)本专利技术减少发送消息的消息体大小,只需在消息体中添加图片的文件服务器端地址即云端地址,而无需直接将二进制数据放入消息体,降低了发送失败的概率。(2)本专利技术将图片保存在云端,与消息体相对独立,更有利于管理。在移动端也可以更方便地选择查看缩略图或者原图。附图说明构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例所述发送端的处理流程图;图2为本专利技术实施例所述接收端的处理流程图。具体实施方式需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。本专利技术一种基于XMPP协议的图片传输方法,如图1、2所示,包括以下步骤:1)发送端选择本地图片进行发送,出现图片的本地路径,图片的本地地址保存到本地数据库中,发送端在聊天列表里根据本地地址显示图片,发送状态为开始发送;2)发送端的图片开始上传到文件服务器,上传成功后,接收文件服务器返回的图片的服务器地址,并携带有图片大小;3)发送端获取到服务器地址和相应图片大小后,将其封装到消息体内,同时消息体内有属性标明消息类型为图片,发送消息,消息体以JSON的格式发送;若发送失败则重新点击发送按钮并更新本地数据库的发送状态为失败;若发送成功则发送端显示发送成功状态,并更新本地数据库的发送状态为成功;4)接收方在收到消息体后,将消息体保存到本地数据库,标志接收状态为接收;通过解析获取到图片的服务器地址及相应的图片大小,在消息列表中根据地址下载图片,若下载失败则显示占位图;若下载成功则将图片的本地地址封装到消息体,更新本地数据库,接收端显示图片。在步骤2)中上传成功后,接收服务器生成图片的缩略图的服务器地址和服务器返回的原图的服务器地址及对应的图片大小;步骤6)中,通过解析获取到图片的原图或者缩略图地址,及相应的图片大小。本专利技术在服务器端生成缩略图可以有效减少移动端的消耗,避免移动端生成缩略图时,上传时需要分别将缩略图和原图传给文件服务器,那么返回的地址也是逐一返回的,对数据库的操作会增加。本专利技术提供的一种基于XMPP协议的图片传输终端,当所述终端作为发送端,所述发送端选择本地图片进行发送,出现图片的本地路径,发送端在聊天列表里根据本地地址显示图片;发送端将图片上传至文件服务器,上传成功后,则接收文件服务器返回的图片的服务器地址,并携带有图片大小;发送端获取到服务器地址和相应图片大小后,将其封装到消息体内,同时消息体内有属性标明消息类型为图片,发送消息;当所述终端作为接收端,所述接收端在收到消息体后,通过解析获取到图片的服务器地址及相应的图片大小,在消息列表中根据地址下载图片显示即可。对于终端装置的另一个优选实施例,发送端上传成功后,则接收文件服务器返回的图片的服务器地址和文件服务器生成的缩略图的服务器地址,并携带有图片和缩略图的大小;接收端通过解析获取到图片的原图或者缩略图地址,及相应的图片大小。以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...
【技术保护点】
1.一种基于XMPP协议的图片传输方法,其特征在于,应用于终端,所述方法包括以下步骤:/n1)发送端选择本地图片进行发送,出现图片的本地路径,发送端在聊天列表里根据本地地址显示图片;/n2)发送端将图片上传至文件服务器,上传成功后,则接收文件服务器返回的图片的服务器地址,并携带有图片大小;/n3)发送端获取到服务器地址和相应图片大小后,将其封装到消息体内,同时消息体内有属性标明消息类型为图片,发送消息;/n4)接收方在收到消息体后,通过解析获取到图片的服务器地址及相应的图片大小,在消息列表中根据地址下载图片显示即可。/n
【技术特征摘要】
1.一种基于XMPP协议的图片传输方法,其特征在于,应用于终端,所述方法包括以下步骤:
1)发送端选择本地图片进行发送,出现图片的本地路径,发送端在聊天列表里根据本地地址显示图片;
2)发送端将图片上传至文件服务器,上传成功后,则接收文件服务器返回的图片的服务器地址,并携带有图片大小;
3)发送端获取到服务器地址和相应图片大小后,将其封装到消息体内,同时消息体内有属性标明消息类型为图片,发送消息;
4)接收方在收到消息体后,通过解析获取到图片的服务器地址及相应的图片大小,在消息列表中根据地址下载图片显示即可。
2.根据权利要求1所述的一种基于XMPP协议的图片传输方法,其特征在于:步骤2)中上传成功后,则接收文件服务器返回的图片的服务器地址和文件服务器生成的缩略图的服务器地址,并携带有图片和缩略图的大小;
步骤6)中,通过解析获取到图片的原图或者缩略图地址,及相应的图片大小。
3.根据权利要求1所述的一种基于XM...
【专利技术属性】
技术研发人员:陈刚,
申请(专利权)人:紫光云技术有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。