1

Amazon S3 サーバーから iPad に 5 つ以上のビデオ ファイルをダウンロードしたいと考えています。

5ファイルまでは問題なく動作します。しかし、ダウンロードするファイルが 7 つある場合、最後の 2 つのファイルで「要求がタイムアウトしました」と表示されます。

これが私のコードです:

    NSMutableURLRequest* rq = [[APIClient sharedClient] requestWithMethod:@"GET" path:[[self item] downloadUrl] parameters:nil];
downloadOperation = [[AFHTTPRequestOperation alloc] initWithRequest:rq] ;
downloadOperation.outputStream = [NSOutputStream outputStreamToFileAtPath:[[self item] localUrl] append:NO];
[downloadOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"Successfully downloaded file to %@", [[self item] localUrl]);
    isDownloading = NO;
    [self.downloadProgressView setHidden:YES];
    [self setUserInteractionEnabled:YES];
    [self.downloadIndicatorView stopAnimating];

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
    [self.downloadProgressView setHidden:YES];
    [self setUserInteractionEnabled:YES];
    [self.downloadIndicatorView stopAnimating];

    isDownloading = NO;

    [[[UIAlertView alloc] initWithTitle:@"Hata"
                                message:@"Bir hata oluştu. Lütfen tekrar deneyiniz."
                               delegate:self
                      cancelButtonTitle:@"Tamam"
                      otherButtonTitles:nil] show];
}];
[downloadOperation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
    float progress = totalBytesRead / (float)totalBytesExpectedToRead;
    //NSLog(@"Download Percentage: %f %%", progress*100);
    [self.downloadProgressView setProgress:progress animated:YES];
}];
[downloadOperation setShouldExecuteAsBackgroundTaskWithExpirationHandler:^{

}];

[SharedAppDelegate.httpClient enqueueHTTPRequestOperation:downloadOperation];
[downloadOperation start];
isDownloading = YES;
[self.downloadProgressView setHidden:NO];
[self.downloadIndicatorView startAnimating];

なにが問題ですか?

4

0 に答える 0