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 框架发送文件的主要内容,如果未能解决你的问题,请参考以下文章