0
在我的聊天應用程序中,我無法在聊天時發送任何圖像或文件。我試過是---在cocoa應用程序中使用xmpp發送任何文件。可能嗎?
方法1 ...
NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
[body setStringValue:@"Send Image Testing"];
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:[jid full]];
[message addAttributeWithName:@"from" stringValue:[[xmppStream myJID] full]];
[message addChild:body];
NSImage *img = [NSImage imageNamed:@"loginLogo.png"];
NSData *imageData = [img TIFFRepresentation];
NSBitmapImageRep *imageRep = [NSBitmapImageRep imageRepWithData:imageData];
NSData *data = [imageRep representationUsingType:NSJPEGFileType properties:nil];
NSString *imgStr = [NSString encodeBase64WithData:data];
NSXMLElement *ImgAttachement = [NSXMLElement elementWithName:@"attachment"];
[ImgAttachement setStringValue:imgStr];
[message addChild:ImgAttachement];
[xmppStream sendElement:message];
我加了一個 「XMLELEMENT」 評爲 「消息」 XMLELEMENT 「附件」。 「附件」的字符串值是以「Base64」格式編碼的ImageDataString。但是這個代碼只發送文本到另一端(而不是圖像)。
不知道失敗的原因,可能是我應該發送圖像的NSImage或服務器鏈接來代替圖像數據。
方法2 ...
我也試過 「XMPPOutgoingFileTransfer」 類,與下面的代碼。
[_fileTransfer sendData:decodedData
named:@"hello"
toRecipient:[XMPPJID jidWithString:@"[email protected]/RESOURCENAME"]
description:@"Baal's Soulstone, obviously."
error:&err])
但每到這個被賦予了同樣的錯誤的時間 - Error Domain=XMPPOutgoingFileTransferErrorDomain Code=-1 "Unable to send SI offer; the recipient doesn't have the required features."
請幫幫忙,提前
您的問題仍然不清楚,這個代碼究竟發生了什麼錯誤是啊崩潰是啊別的? – Tirth 2014-10-17 08:50:04
@Tirth當我編輯我的問題時,我可以使用上述方法發送文本,但問題是-----圖像未被髮送。請幫助,如果你有任何想法 – Yogendra 2014-10-18 05:28:39