我使用XMPPFramework來創建我的聊天應用程序。我想更新當前用戶的頭像。我爲此使用了ImagePicker。以下是我的updateAvatar方法的樣子 -使用XMPPFramework上傳的電子名片上圖像變得難以辨識
- (void)updateAvatar:(UIImage *)avatar
{
NSData *imageData = UIImageJPEGRepresentation(avatar, 0.5f);
imageData = [imageData base64EncodedDataWithOptions:NSDataBase64Encoding64CharacterLineLength];
dispatch_queue_t queue = dispatch_queue_create("queue", DISPATCH_QUEUE_PRIORITY_DEFAULT);
dispatch_async(queue, ^{
XMPPvCardTempModule *vCardTempModule = self.xmppvCardTempModule;
XMPPvCardTemp *myVcardTemp = [vCardTempModule myvCardTemp];
if (!myVcardTemp)
{
NSXMLElement *vCardXML = [NSXMLElement elementWithName:@"vCard" xmlns:@"vcard-temp"];
myVcardTemp = [XMPPvCardTemp vCardTempFromElement:vCardXML];
}
//[myVcardTemp setName:[NSString stringWithFormat:@"%@",name.text]];
[myVcardTemp setPhoto:imageData];
[vCardTempModule updateMyvCardTemp:myVcardTemp];
});
}
但是,當我將vCard取回時,圖像變爲無效圖像。我已經檢查了this question。它在vCard上使用setPhoto方法時手動創建vCard元素。我也嘗試過使用UIImagePNGRepresentation,但它也不起作用。
任何想法在這裏可能是錯誤的?