0

この単純な http リクエストを使用して、s3 サーバーからファイルをダウンロードしています。

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDidFinishSelector:@selector(done:)];

[request setDownloadDestinationPath:dest];
[request setDownloadProgressDelegate:pv];
[request setDelegate:self];
[request setShowAccurateProgress:YES];
[request setShouldContinueWhenAppEntersBackground:YES];
[request startAsynchronous];
pv.hidden = NO;
[request setFailedBlock:^(void) {
    NSLog(@"Download failed: %@. reason:%@", url, [request.error localizedDescription]);
}];
[request setCompletionBlock:^(void){
    NSString *zipFilePath = dest;
    [SSZipArchive unzipFileAtPath:zipFilePath toDestination:desti];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    [fileManager removeItemAtPath:zipFilePath error:NULL];
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"ההורדה הסתיימה"       message:@"מה ברצונך לעשות" delegate:self cancelButtonTitle:@"חזרה לתפריט" otherButtonTitles:@"נגן אפליקציה",nil];
    [alert show];

}];

ダウンロードはうまくいきますが、問題はリクエストが常に成功することです。リクエストURLに存在するファイルがない場合でも失敗しません。

4

1 に答える 1

0

私の頭の上から、NSFileManagerを使用してダウンロードしたzipファイルのファイルサイズを確認できます

- (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError **)error

0 バイトは、ファイルがダウンロードされなかったことを示します。

于 2012-06-27T17:17:23.763 に答える