通过xmpp 上传头像 -- IOS端
2015-12-03 09:35
260 查看
// 声明上传头像相关对象 @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 { }
相关文章推荐
- iOS开发-Xcode插件管理工具Alcatraz的安装和使用
- 使用CAAnimationGroup组合关键帧动画,设置delegate,造成VC无法释放问题
- iOS 页面间几种传值方式(属性,代理,block,单例,通知
- iOS开发之应用设置
- ios 防止按钮快速点击造成多次响应的避免方法。
- iOS开发-AFNetworking 怎样上传数据? 怎样上传模拟表单
- 各个时间段对应使用的Xcode版本以及iOS版本。
- sizeWithFont:方法使用明细
- iOS开发-中文转拼音
- iOS 用这些方法把图片不压缩,部分显示在imageView上面。。。。
- (NO.00004)iOS实现打砖块游戏(十四):3球道具的实现
- (NO.00004)iOS实现打砖块游戏(十四):3球道具的实现
- (NO.00004)iOS实现打砖块游戏(十四):3球道具的实现
- iOS 推荐书单
- 关于ios定时器NSTimer的俩种使用方法
- iOS中 加强日志输出 开发技术总结
- iOS中 加强日志输出 开发技术总结
- ios8开发者企业账号和个人账号申请注册
- iOS - 多线程——GCD
- iOS疯狂详解之NSURLSession使用