可以更改登录用户通过
#pragma mark - Update avatar image Methode.
-(void)changeUserImage:(UIImage*)image {
NSData *imageData = UIImagePNGRepresentation(image);
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//Create XML for first time VCARD Save.
NSXMLElement *vCardXML = [NSXMLElement elementWithName:@"vCard" xmlns:@"vcard-temp"];
NSXMLElement *photoXML = [NSXMLElement elementWithName:@"PHOTO"];
NSXMLElement *typeXML = [NSXMLElement elementWithName:@"TYPE"stringValue:@"image/jpeg"];
//Convert image to bbase64String
NSString *base64String = [imageData base64EncodedStringWithOptions:0];
NSXMLElement *binvalXML = [NSXMLElement elementWithName:@"BINVAL" stringValue:base64String];
[photoXML addChild:typeXML];
[photoXML addChild:binvalXML];
[vCardXML addChild:photoXML];
//Update user avatar on local database.
XMPPvCardTemp *myvCardTemp = [[[XmppHandler sharedInstance] xmppvCardTempModule]myvCardTemp];
NSLog(@"%@",myvCardTemp);
if (myvCardTemp) {
[myvCardTemp setPhoto:imageData];
[[[self appDelegate] xmppvCardTempModule] updateMyvCardTemp
:myvCardTemp];
} else {
XMPPvCardTemp *newvCardTemp = [XMPPvCardTemp vCardTempFromElement:vCardXML];
[[[self appDelegate] xmppvCardTempModule] updateMyvCardTemp:newvCardTemp];
}
});
}
头像图片