XMPP 框架发送文件

Posted

技术标签:

【中文标题】XMPP 框架发送文件【英文标题】:XMPP Framework sending files 【发布时间】:2015-02-06 14:57:21 【问题描述】:

我成功地将文件从 iphone 发送到 spark。 现在我想将文件从 iphone 发送到 iphone,不幸的是我总是得到这个错误代码: 打印错误描述: 错误域 = XMPPOutgoingFileTransferErrorDomain 代码 = -1“无法发送 SI 报价;收件人没有所需的功能。” UserInfo = 0x1a9773d0 NSLocalizedDescription = 无法发送 SI 报价;收件人没有所需的功能。

我用于转移的代码和以下内容:

-(void)elaborazioneInvioTraferimentoFile

XMPPOutgoingFileTransfer *xmppIncomingFileTransfer= [XMPPOutgoingFileTransfer new];
[xmppIncomingFileTransfer activate:self.xmppStream];

[xmppIncomingFileTransfer addDelegate:self delegateQueue:dispatch_get_main_queue()];



UIImage *img=[UIImage imageNamed:@"ico.png"];

NSData *pngData = UIImagePNGRepresentation(img);
NSArray *paths1 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths1 objectAtIndex:0]; //Get the docs directory
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"ico.png"]; //Add the file name
[pngData writeToFile:filePath atomically:YES]; //Write the file

// do error checking fun stuxmppIncomingFileTransferff...

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                     NSUserDomainMask,
                                                     YES);
NSString *fullPath = [[paths lastObject] stringByAppendingPathComponent:@"ico.png"];
NSData *data = [NSData dataWithContentsOfFile:fullPath];

NSLog(@"******%@",self.senderId);

NSError *err;
if (![xmppIncomingFileTransfer sendData:data
                                  named:@"ico.png"
                            toRecipient:[XMPPJID jidWithString:self.senderId]
                            description:@"Baal's Soulstone, obviously."
                                  error:&err]) 
    DDLogInfo(@"You messed something up: %@", err);

我哪里做错了?感谢您的帮助

【问题讨论】:

【参考方案1】:

要从 iPhone 向 iPhone 发送文件,您必须将图像或文件上传到特定的服务器,并且在服务器上成功上传后,您必须将该上传的文件 URL 发送给另一个 iPhone 用户。这样第二个用户就可以从该特定 URL 下载文件。

【讨论】:

以上是关于XMPP 框架发送文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 XMPP 框架在 Objective C 中传输文件

如何在 somessaging xmpp 框架中发送图像

如何在消息传递 xmpp 框架中发送图像?

在可可应用程序中使用 xmpp 发送任何文件。是不是可以?

使用 xmpp ios 发送媒体文件(图像、音频、视频)

如何在 xmpp smack 或 asmack 中将文件发送给离线用户?