ZIP-файл в NSData

Здравствуйте, у меня проблемы с zip-файлами, дело в том, что я отправляю несколько.zip-файлов через CFSocket, но во время записи файла обратно на сервер он поврежден или каждый раз, когда я нажимаю на него, появляются несколько zip-файлов, размер которых не совпадает. я попробовал это для создания почтового индекса, и это работает, также я передаю это NSData Я не понимаю, может кто-нибудь помочь мне, пожалуйста?

- (IBAction)zipButton:(id)sender {

    BOOL isDir=NO;

    NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

    NSArray *subpaths;

    NSString *toCompress = @"/Departures/";
    NSString *pathToCompress = [documentsDirectory stringByAppendingPathComponent:toCompress];
    NSString *zipFilePath = [documentsDirectory stringByAppendingPathComponent:@"/Departures/textFiles.zip"];
    NSData   *zipData;

    NSFileManager *fileManager = [NSFileManager defaultManager];
    if ([fileManager fileExistsAtPath:pathToCompress isDirectory:&isDir] && isDir){

        subpaths = [fileManager subpathsAtPath:pathToCompress];
    } else if ([fileManager fileExistsAtPath:pathToCompress]) {

        subpaths = [NSArray arrayWithObject:pathToCompress];
    }

    ZipArchive *za = [[ZipArchive alloc] init];
    [za CreateZipFile2:zipFilePath];
    if (isDir) {

        for(NSString *path in subpaths){

            NSString *fullPath = [pathToCompress stringByAppendingPathComponent:path];

            if([fileManager fileExistsAtPath:fullPath isDirectory:&isDir] && !isDir){

                [za addFileToZip:fullPath newname:path];
                zipData=[NSData dataWithContentsOfFile:fullPath];

            }
        }
    } else {

        [za addFileToZip:pathToCompress newname:toCompress];

    }

}

и я пишу это обратно следующим образом:

[zip writeToFile: videos.zip atomically:YES];

0 ответов

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