使用SimpleFTPSample上传到FTP服务器

时间:2013-07-08 15:28:28

标签: ios objective-c ftp stream

我正在尝试使用Apple提供的SimpleFTPSample代码将.txt文件上传到服务器。 错误是

  

发送

     

流打开错误

     

错误:无法完成操作。 (kCFErrorDomainCFNetwork错误200。)

- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode方法中出现错误,具体为:

    case NSStreamEventErrorOccurred: {
        NSError *theError = [aStream streamError];
        [self stopSendWithStatus:@"Stream open error"];
        NSLog(@"The error: %@", [theError localizedDescription]);
    } break;

(由Apple提供的PutController.m第251行,可以找到here

我看过this question和其他几个喜欢它的人,我遇到了同样的问题。我还尝试使用该问题中的解决方案来纠正问题,但没有成功。这包括使用以下方法切换主动/被动流属性:

[self.networkStream setProperty:(id)kCFBooleanFalse forKey:(id)kCFStreamPropertyFTPUsePassiveMode];

服务器地址似乎正确。它需要凭据并且它们是正确的。它允许我通过浏览器登录。我也有一个Android应用程序上传到同一个地方。提供的简单FTP代码可以:

  • 在服务器上创建目录
  • 在服务器上创建一个0字节的文件
  • 从默认地址检索文件(Apple提供NASA ftp服务器上的图像URL,可以使用该应用程序下载和查看)

然而,它不能:

  • 从服务器下载文件(开放流错误)
  • 将数据添加到创建的文件(开放流错误)

我正在使用Xcode 4.6.3和iOS SDK 6.1。 这可以通过模拟器和iPhone 4设备重现。 我有权访问服务器管理员权限。

0 个答案:

没有答案