Загрузка большого файла с MKNetworkKit приводит к пустому файлу

Я пытаюсь загрузить большой файл с помощью MKNetworkKit (iOS7). В настоящее время используется код ниже:

- (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 не записывает ее в папку документов. Указание правильного пути решило это.

Другие вопросы по тегам