NSFileManager 从服务器读取文件?

Posted

技术标签:

【中文标题】NSFileManager 从服务器读取文件?【英文标题】:NSFileManager read files from server? 【发布时间】:2012-02-13 13:22:41 【问题描述】:

是否可以通过 NSFileManger 从远程服务器加载和处理文件?

fileManager contentsOfDirectoryAtURL:@"https ...

通过 URLConnection 连接以在服务器上进行身份验证。

如果这不可能,那么读取目录内容和下载文件的最佳方法是什么?

【问题讨论】:

【参考方案1】:

HTTP 没有目录只有文件的概念,通过 HTTP 同步读取文件的最简单方法是 NSString stringWithContentsOfURL:encoding:error: e.g.:

NSString *robots = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://***.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);

【讨论】:

【参考方案2】:

我试过了,还是不行。

NSFileManager 无法通过 http: 访问服务器上的文件...

会产生 CocoaError 262 = NSFileReadUnsupportedSchemeError。

【讨论】:

以上是关于NSFileManager 从服务器读取文件?的主要内容,如果未能解决你的问题,请参考以下文章

文件夹中的 NSFileManager

NSFileManager 不会从 NSFileExtendedAttributes 读取 kMDItemWhereFroms

NSFileManager 创建文件失败

NSFileManager创建文件夹

NSFileManager:无法正常工作

如果文件存在,不要保存到文件 NSFileManager