NSFileManager читать файлы с сервера? - PullRequest
3 голосов
/ 13 февраля 2012

Можно ли загружать и обрабатывать файлы с удаленного сервера через NSFileManger?

fileManager contentsOfDirectoryAtURL:@"https ...

Подключиться через URLConnection для аутентификации на сервере.

Если это невозможно, что будетбыть лучшим способом прочитать содержимое каталога и загрузить файлы?

Ответы [ 2 ]

3 голосов
/ 29 февраля 2012

HTTP не имеет понятия о каталогах только файлов, простейший способ синхронного чтения файла через HTTP - NSString stringWithContentsOfURL: encoding: error: например:

NSString *robots = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://stackoverflow.com/robots.txt"] encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@",robots);

Вот пример для ftp:

NSURLResponse *response;
NSError *error = nil;
NSData  *data = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"ftp://ftp.ruby-lang.org/pub/misc/webrick-cve-2010-0541.diff"]] returningResponse:&response error:&error];
if(data == nil) {
    NSLog(@"Error: %@", [error localizedDescription]);
}else{
    NSString *str = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
    NSLog(@"got %@",str);
}
0 голосов
/ 29 февраля 2012

Я попробовал это сейчас, и это не работает.

NSFileManager не может получить доступ к файлам на сервере с http: ...

Это выдаст CocoaError 262 = NSFileReadUnsupportedSchemeError.

...