如何在聊天usig xmpp框架中发送图像 [英] How to send image in chat usig xmpp framework
本文介绍了如何在聊天usig xmpp框架中发送图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在基于聊天功能制作一个应用程序,可以发送聊天消息,但是如果我在聊天消息中添加图片附件,则该附件无法正常工作。这是我的消息代码
Hi I am making an app based on the chatting I can send chat messages, but if i add image attachment to the chat message, its not working.here is my message code
if (![[messageStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] length] && imgURL==nil) {
return;
}
NSString *MyString;
NSDate *now = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm,yyyy/MM/dd"];
MyString = [dateFormatter stringFromDate:now];
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
NSString *myJID=[defaults valueForKey:@"userNameJID"];
if ([imgURL length]==0) {
chatMessageToSendAndPutInDB=[messageStr mutableCopy];
chatMessageToSendAndPutInDB=[[chatMessageToSendAndPutInDB stringByReplacingOccurrencesOfString:@"'" withString:@""] mutableCopy];
}else
{
receivedDataString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
chatMessageToSendAndPutInDB=[receivedDataString mutableCopy];
chatMessageToSendAndPutInDB=[[chatMessageToSendAndPutInDB stringByReplacingOccurrencesOfString:@"'" withString:@""] mutableCopy];
}
[DBObject open];
[DBObject insertInTable:@"chatTable" withUserId:myJID withFriendID:[[ASNGlobalClass shareManager] chatToUserJID] withMessage:chatMessageToSendAndPutInDB withTimeDate:MyString withLeftOrRight:0];
NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
[DBObject closeDatabase];
[self fetchDataFromDatabase];
if([messageStr length] > 0 ) {
[body setStringValue:messageStr];
}else if ([imgURL length]>0){
[body setStringValue:receivedDataString];
} NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:chatWithUser];
NSXMLElement *chatStatus=[NSXMLElement elementWithName:@"composing" xmlns:UIApplicationStateActive];
[message addChild:chatStatus];
[message addChild:body];
[[[self appDelegate] xmppStream] sendElement:message];
我正在使用xmpp框架和openfire服务器。而且我不知道如何发送图像。请帮助我,我正在使用sqlite来存储和获取
。谢谢。
I am using xmpp framework and openfire server. and i don't know how to send images.please help me and i am using sqlite for storing and fetching Thanks in advance.
推荐答案
attachment元素用于在XMPP中发送图像。
您可以使用以下功能:
attachment element is used to send image in XMPP. you can use following function:
-(void)sendMessage:(NSString *)strText img:(UIImage *)SendImage{
NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
[body setStringValue:strText];
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:userId];
[message addChild:body];
if (SendImage) {
NSData *dataF = UIImagePNGRepresentation(SendImage);
NSString *imgStr=[dataF base64EncodedStringWithOptions:0];
NSXMLElement *ImgAttachement = [NSXMLElement elementWithName:@"attachement"];
[ImgAttachement setStringValue:imgStr];
[message addChild:ImgAttachement];
}
[self.xmppStream sendElement:message];
[self.view endEditing:YES];}
这篇关于如何在聊天usig xmpp框架中发送图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文