如何从 xmppframework 的 didReceive IQ 方法中检索图像?

Posted

技术标签:

【中文标题】如何从 xmppframework 的 didReceive IQ 方法中检索图像?【英文标题】:How to retrive image from didReceiveIQ method of xmmpframework? 【发布时间】:2014-03-21 10:35:29 【问题描述】:

我想从xmmpframework检索UIImage,这是由其他人通过聊天发送的,就像whatsapp一样,但我怎么能从中得到UImage。如果图像被接收,则调用didReceiveIQ 方法,但我不知道如何从中恢复UIImage

谁能帮我解决这个问题?

提前致谢

【问题讨论】:

我认为您在 - (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message methio 中收到图像 @MitsBhadeshiya 感谢您的回复,但是当我收到图像时没有调用 didReceiveMessage 。如果我收到图像,则调用 didReceiveIQ,如果我收到消息(文本),则调用 didReceiveMessage。 请检查 xmpp.org/extensions/xep-0231.html 是否对您有所帮助。 检查答案。拉胡尔奈尔***.com/questions/4524475/… 我已经检查过了,但这不是实现图像发送/接收的正确方法。而且与 IQ 方法相比,它会很慢。 【参考方案1】:

如果你想从 XmppFrameowrk 获取 UIImage, 那么您只需要获取该用户的 vCard。

如果你想得到你的图像,那么你只需要得到你自己的 vCard。

在 XmppFrameowork 的 vCardTemp 类中使用以下方法:

 - (XMPPvCardTemp *)vCardTempForJID:(XMPPJID *)jid shouldFetch:(BOOL)shouldFetch

【讨论】:

我想要由其他人发送的图片,而不是个人资料图片。 我已经在 IM Chat 应用中实现了共享图像功能,例如 whats 应用。但我没有在 IQ 中发送图像。我正在将图像转换为 base64Encoded 字符串并像我们发送消息一样发送。它工作正常。您如何在 IQ 中发送图像?你能告诉我吗。当 didReceive IQ 调用时,我们在 IQ 的 photo 标签中获取照片编码字符串,您只需要获取该标签并获取编码字符串。 我已经通过使用 base64 字符串成功实现了图像发送/接收功能,但是当我将图像从我的 Mac spark(本地网络的聊天应用程序)发送到我的 iPhone 应用程序时,调用了 didReceiveIQ 方法.

以上是关于如何从 xmppframework 的 didReceive IQ 方法中检索图像?的主要内容,如果未能解决你的问题,请参考以下文章

XMPPFramework - 如何将图像从一台设备传输到另一台设备?

xmppframework开发基础

XMPPFramework - 如何向 XMPPUserCoreDataStorageObject 添加自定义属性?

如何启用 XMPPFramework 在控制台上打印原始 XML

如何通过 XMPPFramework 添加好友

XMPPFramework - 如何获取在线和离线好友列表?