【问题标题】:Zip the doc file in ios and save in to document directory在ios中压缩doc文件并保存到文档目录
【发布时间】:2015-07-19 07:34:29
【问题描述】:

我想将 doc 文件保存到文档目录中的 zip 文件中,当用户选择时,他们可以将其附加到电子邮件中。我已经创建了 zip 文件,但是当我想再次打开它时,它会创建一个 zip 文件,zip.cpgz 而不是 testing.zip

这是我创建 zip 文件的代码

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

NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory  error:nil];

int index =0;
for (NSString *item in filePathsArray){
    if ([[item pathExtension] isEqualToString:@"doc"])
    {
       NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[filePathsArray objectAtIndex:index]];
        //NSString *FileName=[stringPath1 stringByAppendingPathComponent:@"Console.doc"];

        NSString *stringPath=[documentsDirectory stringByAppendingPathComponent:[@"testing" stringByAppendingFormat:@".zip"]];

        ZipFile *zipFile = [[ZipFile alloc]initWithFileName:stringPath mode:ZipFileModeCreate];


        ZipWriteStream *stream= [zipFile writeFileInZipWithName:@"doc" compressionLevel:ZipCompressionLevelBest];
        NSData *data = [NSData dataWithContentsOfFile:filePath];
        [stream writeData:data];
        [stream finishedWriting];

    }
}

【问题讨论】:

  • 不清楚你想要什么。请改写。
  • 其实我想压缩一个doc文件并保存到做文档目录

标签: ios objective-c nsdocumentdirectory


【解决方案1】:

你必须使用ssziparchive

用于 iOS 压缩和解压缩文件的实用程序类

提供的示例:-

// Unzipping
NSString *zipPath = @"path_to_your_zip_file";
NSString *destinationPath = @"path_to_the_folder_where_you_want_it_unzipped";
[SSZipArchive unzipFileAtPath:zipPath toDestination:destinationPath];


    // Zipping
    NSString *zippedPath = @"path_where_you_want_the_file_created";
    NSArray *inputPaths = [NSArray arrayWithObjects:
                           [[NSBundle mainBundle] pathForResource:@"photo1" ofType:@"jpg"],
                           [[NSBundle mainBundle] pathForResource:@"photo2" ofType:@"jpg"]
                           nil];
    [SSZipArchive createZipFileAtPath:zippedPath withFilesAtPaths:inputPaths];

【讨论】:

  • 这没有回答问题;问题不在于 zip 类,而是 OP 对 NSFileManager 类的使用。
  • 对不起,伙计,你没有明白 OP 的要求,他说已经找到了一种压缩文件的方法,但没有找到解压缩或解压缩的方法。发言前请仔细阅读。只需投反对票,答案只会从您的声誉中扣除“-1”。
  • 我没有否决您的回答。而且我不是你的伴侣。
  • 我猜您因提供仅链接的答案而被否决。
  • 谢谢伙计!不管它被否决了多少,至少有人显然会觉得它很有帮助。 @丹
猜你喜欢
  • 2012-05-29
  • 1970-01-01
  • 2014-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-05
  • 2013-12-29
  • 1970-01-01
相关资源
最近更新 更多