xmpp 的消息都是 nsstring 类型的 我们想要传送语音 或者图片的时候 我们必须把 图片跟语音转成 nsstring 放到 xmpp的 <body>这个节点里面来传输 但是普通的转化是不可以的 这个时候 我们需要借助 Base64 这个类来帮我做
倒入头文件
#import "Base64.h"
data--》nsstring
//将音频文件转成NSData
NSData *soundData = [[NSData alloc] initWithContentsOfURL:recordedFile];
//将NSData转成base64的NSString类型
NSString *sound=[soundData base64EncodedString];
//发送代码
NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
[body setStringValue:sound];
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
NSString *to = [NSString stringWithFormat:@"%@", self.userJID];
[message addAttributeWithName:@"to" stringValue:to];
[message addChild:body];
[[[self appDelegate]xmppStream] sendElement:message];
我们在xmpp协议得到的消息是 nsstring 所以又要转成我们所需要的
nsstring--》data
//图片
NSData *data = [STR base64DecodedData];
UIImage *img = [UIImage imageWithData:data];
[pic setImage:img];
Base64下载地址 http://download.csdn.net/detail/aa741649143/6528129