2013-10-08 2 views
0

MKNetworkKit (iOS7)을 사용하여 큰 파일을 다운로드하려고합니다. 현재 아래의 코드를 사용하여 :MKNetworkKit으로 큰 파일을 다운로드하면 빈 파일이됩니다.

- (MKNetworkOperation*)downloadFile: (NSString*)url :(NSString*)output { 
    NSString* fullPath = [documentsPath stringByAppendingPathComponent:output]; 
    MKNetworkOperation *op = [self operationWithURLString:url params:nil httpMethod:@"GET"]; 
    [op addDownloadStream:[NSOutputStream outputStreamToFileAtPath:fullPath append:NO]]; 
    return op; 
} 

그런 다음 나는이 같은 다른 클래스에서이 전화 :

Tools *dl = [[Tools alloc]init]; 
    MKNetworkOperation* op = [dl downloadFile:someURL :[documentsPath stringByAppendingPathComponent:@"someFile.txt"]]; 
    [op onDownloadProgressChanged:^(double prog) { 
     progressView.progress = prog; 
     progressLabel.text = [NSString stringWithFormat:@"%.1f%%",prog*100]; 
    }]; 
    [op addCompletionHandler:^(MKNetworkOperation *completedOperation){ 
     //Downloaded file completed here 
    } errorHandler:^(MKNetworkOperation *completedOperation, NSError *error){ 
     NSLog(@"%@", error); 
    }]; 
    [dl enqueueOperation: op]; 

다운로드 파일 이름은 문서 폴더에 표시 완료되지만 파일이 제로 바이트 빈을 때 . MKNetworkKit은 큰 파일을 다운로드하는 것을 좋아하지 않습니까?

답변

1

실수로 출력 파일을 잘못된 위치에 넣은 것 같습니다. 폴더가 존재하지 않았기 때문에 MKNetworkKit은 문서 폴더에 파일을 작성하지 않았습니다. 올바른 경로를 지정하면 해결됩니다.