【发布时间】:2011-05-30 07:07:10
【问题描述】:
我在 iPhone 上为我的聊天应用程序使用 XMPP 框架。我想使用 XMPP 框架从我的应用程序发送图像。任何人都可以建议我,如何做到这一点?
任何帮助将不胜感激。
【问题讨论】:
我在 iPhone 上为我的聊天应用程序使用 XMPP 框架。我想使用 XMPP 框架从我的应用程序发送图像。任何人都可以建议我,如何做到这一点?
任何帮助将不胜感激。
【问题讨论】:
添加一个额外的标签,例如
<attachment>base64 of your image </attachment>
因此通过将其转换为base64字符串并将base64字符串转换回接收方中的图像,在发送方发送您的图像。
只需将 Uiimage 转换为 base64 编码编码,然后通过 xmpp 将其作为带有任何额外标签(如附件)的消息发送。然后在接收方获取带有 base64 内容的消息并将 base64 编码字符串转换回 UIImage
编码和解码的代码在这个链接中:
http://iphonesdksnippets.com/post/2010/03/14/Convert-image-tofrom-text-%28Base64%29.aspx
...只是参考它..如果您有任何疑问或想要简要说明,请在这里评论我会回复它..
【讨论】:
NSData *data = UIImageJPEGRepresentation(chosenImage, 1.0);
Base64Transcoder *base64 = [[Base64Transcoder alloc] init];
NSString *imgStr = [base64 base64EncodedStringfromData:data];
NSXMLElement *ImgAttachement = [NSXMLElement elementWithName:@"attachment"];
[ImgAttachement setStringValue:imgStr];
NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
[body setStringValue:@"image test"];
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:@"13iapp@jabbim.cz"];// [NSString stringWithFormat:@"%@@192.168.1.193",self.jabber_id]];
[message addChild:message];
[message addChild:ImgAttachement];
[[[PDAppDelegate sharedDelegate] xmppStream]sendElement:message];
【讨论】: