通过xmpp 上传头像 -- IOS端

来源:互联网 发布:个人顶级域名 编辑:程序博客网 时间:2024/05/18 00:11



// 声明上传头像相关对象@property (nonatomic , strong) XMPPvCardCoreDataStorage *xmppvCardStorage;@property (nonatomic , strong) XMPPvCardTempModule *xmppvCardTempModule;@property (nonatomic , strong) XMPPvCardAvatarModule *xmppvCardAvatarModule;//初始化_xmppvCardStorage = [XMPPvCardCoreDataStorage sharedInstance];_xmppvCardTempModule = [[XMPPvCardTempModule alloc] initWithvCardStorage:_xmppvCardStorage];_xmppvCardAvatarModule = [[XMPPvCardAvatarModule alloc] initWithvCardTempModule:_xmppvCardTempModule];        [_xmppvCardTempModule addDelegate:self delegateQueue:dispatch_get_main_queue()];[_xmppvCardAvatarModule addDelegate:self delegateQueue:dispatch_get_main_queue()];       #param  上传- (void) upload {    dispatch_queue_t  global_queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);    dispatch_async(global_queue, ^{        NSString *xmppName = [NSString stringWithFormat:@"%d", 101];                NSXMLElement *vCardXML = [NSXMLElement elementWithName:@"vCard"];        [vCardXML addAttributeWithName:@"xmlns" stringValue:@"vcard-temp"];        NSXMLElement *photoXML = [NSXMLElement elementWithName:@"PHOTO"];        NSXMLElement *typeXML = [NSXMLElement elementWithName:@"TYPE" stringValue:@"image/jpeg"];                UIImage *image = //初始化        NSData *dataFromImage = UIImageJPEGRepresentation(image, 1.0f);//图片放缩        NSXMLElement *binvalXML = [NSXMLElement elementWithName:@"BINVAL" stringValue:[dataFromImage base64Encoding]];        [photoXML addChild:typeXML];        [photoXML addChild:binvalXML];        [vCardXML addChild:photoXML];                XMPPvCardTemp * myvCardTemp = [_xmppvCardTempModule myvCardTemp];        if (myvCardTemp) {            myvCardTemp.photo = dataFromImage;            [_xmppvCardTempModule activate: self.xmppStream];            [_xmppvCardTempModule updateMyvCardTemp:myvCardTemp];        } else {            XMPPvCardTemp *newvCardTemp = [XMPPvCardTemp vCardTempFromElement:vCardXML];            newvCardTemp.nickname = xmppName;             [_xmppvCardTempModule activate: self.xmppStream];            [_xmppvCardTempModule updateMyvCardTemp:newvCardTemp];        }    });}#param  上传反馈-(void)xmppvCardTempModule:(XMPPvCardTempModule *)vCardTempModule didReceivevCardTemp:(XMPPvCardTemp *)vCardTemp forJID:(XMPPJID *)jid{}


1 0
原创粉丝点击