获取文件的文件大小以使用FTP下载

时间:2010-01-23 14:55:25

标签: iphone ftp

我正在使用apple的simpleFTPsample。我想显示正在下载的文件的进度条。我知道它需要在以下方面完成:
- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
在这种情况下:
case NSStreamEventOpenCompleted:

如何从NSInputStream中恢复文件大小?

我也尝试过:

我已经设定:
[self.networkStream setProperty:@"YES" forKey:(id)kCFStreamPropertyFTPFetchResourceInfo];
然后:
NSLog(@"size: %@",[self.networkStream propertyForKey:(id)kCFStreamPropertyFTPResourceSize]);
但结果是空的......

2 个答案:

答案 0 :(得分:2)

您必须将kCFStreamPropertyFTPFetchResourceInfo设置为true。这样,CFFTPStream将向FTP服务器发送STAT命令以获取文件信息,包括总大小。

答案 1 :(得分:0)

获取您需要的文件大小:

case NSStreamEventOpenCompleted: {
      fileSize = [[self.networkStream propertyForKey:(id)kCFStreamPropertyFTPResourceSize] integerValue];}

顺便提一下,您知道如何在ftp服务器中获取文件的修改日期吗?