【问题标题】:Write String to file to FTP Objective C?将字符串写入文件到 FTP 目标 C?
【发布时间】:2013-01-07 23:04:03
【问题描述】:

我正在尝试获取 UITextField 的字符串值,将其放入 txt 文件,然后将其发送到我的 FTP 服务器。

我查看了来自 Apple 的 SimpleFTPSample,并尽我所能审查了它的代码。我只用了大约一个月左右的时间在 Objective C 中编程,但我认为我对它的工作原理有一定的了解,所以我写了这段代码:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
    NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *fileName = [NSString stringWithFormat:@"%@/tobesent.txt", documentsDir];

[txttext.text writeToFile:fileName atomically:NO encoding:NSUTF8StringEncoding error:nil];
NSURL *url = [[NSURL alloc]initWithString:@"ftp://USERNAME:PASSWORD@LOCATION/tobesent.txt"];
NSInputStream *fileStream;
NSOutputStream *networkStream;

fileStream = [NSInputStream inputStreamWithFileAtPath:fileName];
[fileStream open];
networkStream = CFBridgingRelease(CFWriteStreamCreateWithFTPURL(NULL, (__bridge CFURLRef) url));
networkStream.delegate = self;
[networkStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[networkStream open];

所有这一切似乎都是在我的 FTP 服务器中创建名为“tobesent.txt”的文件,其中没有任何数据,即使我确实将数据放在 txttext.text 中。我也知道我可以下载其他东西以使这个过程更简单,但我真的很想看看我是否可以在没有它们的情况下完成这项工作。非常感谢任何帮助!

【问题讨论】:

    标签: iphone objective-c ios file-upload ftp


    【解决方案1】:

    您实际上并没有发送任何数据。你从一个文件创建一个 NSInputStream 并且从不对它做任何事情,并且你创建一个 NSOutputStream 到服务器上的一个文件并且从不对它做任何事情。您想从输入流中读取并写入输出流。

    【讨论】:

      【解决方案2】:

      您可能想查看 libCurl - http://curl.haxx.se/libcurl/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-19
        • 1970-01-01
        • 2011-10-24
        • 2013-07-28
        • 2011-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多