我正在使用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]);
但结果是空的......
答案 0 :(得分:2)
您必须将kCFStreamPropertyFTPFetchResourceInfo设置为true。这样,CFFTPStream将向FTP服务器发送STAT
命令以获取文件信息,包括总大小。
答案 1 :(得分:0)
获取您需要的文件大小:
case NSStreamEventOpenCompleted: {
fileSize = [[self.networkStream propertyForKey:(id)kCFStreamPropertyFTPResourceSize] integerValue];}
顺便提一下,您知道如何在ftp服务器中获取文件的修改日期吗?