我在iPhone上使用XMPP框架作为我的聊天应用程序。我想使用XMPP框架从我的应用程序发送图像。任何人都可以建议我,怎么做?
任何帮助将不胜感激。
答案 0 :(得分:6)
添加额外的标签,例如
<attachment>base64 of your image </attachment>
因此,通过将图像转换为base64字符串并将base64字符串转换回接收方的图像,将图像发送到发送方。
只需将Uiimage转换为base64encoded编码,然后通过xmpp将其作为带有任何额外标签的消息(如attachement)发送。然后在接收方端获取带有base64内容的消息并将base64encoded字符串转换回UIImage
编码和解码的代码在以下链接中:
http://iphonesdksnippets.com/post/2010/03/14/Convert-image-tofrom-text-%28Base64%29.aspx
...请参考..如果您有任何疑问或者您想要一个简短的解释,请在这里发表评论我会回复它。
答案 1 :(得分:1)
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];
答案 2 :(得分:0)