ダウンロード中のファイルのファイルサイズを確認したい。私は 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 を取得したという事実は、ファイルパスが正しいことを示しています。しかし、ダウンロード中にファイルが存在しないと表示されるのはなぜですか? どうすればそれを修正できますか?