2011-02-23 2 views
1

다운로드 한 파일에 액세스하는 데 문제가 있습니다. 나는 다운로드 한 데이터가 didReceiveData 델리게이트 메서드를 사용하여 들어오고 있지만 요청이 완료되면 이 완료되면 디렉토리에 파일이 표시되지 않는다는 것을 알 수 있습니다. 또한, FWIW 내 버킷에서 .zip 파일을 요청하고 있습니다.ASIHTTPRequest (ASIS3ObjectRequest) - 파일을 다운로드하지 않았습니다.

-(void)downloadZipFile 
{ 
    ASIS3ObjectRequest *request = [ASIS3ObjectRequest 
requestWithBucket:bucket key:keyPath]; 
    [request setSecretAccessKey:secretAccessKey]; 
    [request setAccessKey:accessKey]; 
    [request setDelegate:self]; 
    [request setDownloadDestinationPath:[[self documentsDirectory] 
stringByAppendingPathComponent:@"test.zip"]]; 
    [request startSynchronous]; 
} 

- (void)requestFinished:(ASIHTTPRequest *)request 
{ 
    NSError *error; 
    NSFileManager *fileManager = [[NSFileManager alloc] init]; 
    NSLog(@"Documents directory: %@", [fileManager 
contentsOfDirectoryAtPath:[self documentsDirectory] error:&error]); 
    //logging the contents of my documents directory shows that the file I downloaded is not there 
    [fileManager release]; 
} 

- (NSString *)documentsDirectory { 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                 NSUserDomainMask, YES); 
    return [paths objectAtIndex:0]; 
} 

모든 도움을 주시면 대단히 감사하겠습니다.

답변

1

아아가 문제를 발견했습니다.

먼저 downloadDestinationPath를 사용하여 디스크에 데이터를 쓰는 경우 구현에서 didReceiveData 대리자 메서드를 제거해야합니다. 또한 temporaryDownloadPath를 설정해야합니다.

관련 문제