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 不会从 NSFileExtendedAttributes 读取 kMDItemWhereFroms