在FTP上上传多个文件

时间:2013-01-22 09:29:00

标签: iphone ios objective-c xcode ftp

我是Objective-c和iOS的新手。我正在使用SimpleFTPSample制作用于上传和下载文件到ftp的测试应用程序。我需要在ftp上传两个文件,但在SimpleFTPSample中你只能上传一个...所以我需要添加什么来源代码?我猜必须有一些循环,但我不知道在哪里...

这是我的代码,我为()添加,但我知道这是错的,但我没有任何想法。谢谢你的帮助。

success = (url != nil);

NSMutableArray *listFile = [[NSMutableArray alloc] initWithCapacity:2];
[listFile addObject:[[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@"1.txt"]];

[listFile addObject:[[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@"2.txt"]];


for (int i= 0; i <= 1; i++ ) {

    self.filePath = [listFile objectAtIndex:i];

url = [NSURL URLWithString:@"ftp://anonymous@ftp"];


    url = CFBridgingRelease(
                            CFURLCreateCopyAppendingPathComponent(NULL, (__bridge CFURLRef) url, (__bridge CFStringRef) [self.filePath lastPathComponent], false));
    //                           );
    success = (url != nil);


    self.ftpFileStream = [NSInputStream inputStreamWithFileAtPath:_filePath];
    assert(self.ftpFileStream != nil);

    [self.ftpFileStream open];

    self.ftpNetworkStream = CFBridgingRelease(
                                              CFWriteStreamCreateWithFTPURL(NULL, (__bridge CFURLRef) url)
                                              );
    assert(self.ftpNetworkStream != nil);
    self.ftpNetworkStream.delegate = self;


    [self.ftpNetworkStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
        [self.ftpNetworkStream open];

    }

}

1 个答案:

答案 0 :(得分:3)

我相信你可以用其他有效的方式上传多个文件任务。

1)使用AFNetworking

,另一个选项是

2)ASIHTTPRequest's ASINetworkQueue

注意:不再维护ASIHTTPRequest ...快乐编码:)