我想确定正在下载的文件的文件大小。我使用 ASIHTTPRequest 并且通常它应该跳转到 didReceiveBytes 但它没有这样做相反我启动了一个计时器来重复检查该位置的文件大小。像这样 :
NSError* error;
NSFileManager* fm = [NSFileManager defaultManager];
NSDictionary* itemAttributes = [fm attributesOfItemAtPath:_location error:&error];
if(!error){
unsigned long long fsize = [itemAttributes fileSize];
[downloadLabel setText:[NSString stringWithFormat:@"%llu MB downloaded",fsize] ];
NSLog(@"MB downloaded: %llu", fsize);
} else {
NSLog(@"error=%@", error);
}
问题是,在文件完成下载之前,我收到以下错误:
error=Error Domain=NSCocoaErrorDomain Code=260 "The operation couldn’t be completed. (Cocoa error 260.)" UserInfo=0xf57aa60 {NSFilePath= "long filename", NSUnderlyingError=0xf57ad90 "The operation couldn’t be completed. No such file or directory"
完成后它终于给了我:
MB下载:34443951
事实上,我最后下载的 MB 告诉我文件路径是正确的。但是为什么它在下载时告诉我该文件不存在?我该如何解决?