2014-10-17 20 views
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."

請幫幫忙,提前

+0

您的問題仍然不清楚,這個代碼究竟發生了什麼錯誤是啊崩潰是啊別的? – Tirth 2014-10-17 08:50:04

+0

@Tirth當我編輯我的問題時,我可以使用上述方法發送文本,但問題是-----圖像未被髮送。請幫助,如果你有任何想法 – Yogendra 2014-10-18 05:28:39

回答

相關問題