ios - SSZiparchive 简单解档

标签 ios xcode zip unzip ssziparchive

我正在构建一个从 zip 文件下载大量数据的应用程序。我下载了 zip 文件,但想提取 pdf 文件目录。我正在使用 SSZipArchive,但我的代码无法正常工作。我想我没有正确解压缩它。

我的代码:

[data writeToFile:filePath atomically:YES];

// Unzipping
NSString *destinationPath = [documentsDir stringByAppendingPathComponent:@"catalogus"];;
[SSZipArchive unzipFileAtPath:filePath toDestination:destinationPath];
[[NSUserDefaults standardUserDefaults] setValue:destinationPath forKey:@"catalogus"];

我想在另一个 View Controller 中打开 pdf

NSString *bestand = [[NSUserDefaults standardUserDefaults] valueForKey:@"catalogus"];
ReaderDocument *testdocument = [ReaderDocument withDocumentFilePath:bestand password:phrase];

当我直接下载 pdf(根本没有压缩)时,我的代码工作正常。

最佳答案

用这个解压:

- (void)Unzipping {

    NSArray  *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *outputPath = [documentsDirectory stringByAppendingPathComponent:@"/PDFFolder"];

    NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"FILENAME.zip"];
    NSString *zipPath = filePath;

    [SSZipArchive unzipFileAtPath:zipPath toDestination:outputPath delegate:self];

}

并使用此方法从目录中获取 pdf:

-(NSData *)FetchPDF
{
    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString* documentsDirectory = [paths objectAtIndex:0];
    NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"/PDFFolder"];
    NSString *workSpacePath = [dataPath stringByAppendingPathComponent:@"your_filename.pdf"];
    NSData *pdfData = [NSData dataWithContentsOfFile:workSpacePath];

    return pdfData;
}

关于ios - SSZiparchive 简单解档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16792616/

相关文章:

objective-c - 有没有办法确定 Xcode4 中未使用的函数?

ios - Xcode 中的库未加载问题

linux - 以编程方式访问 zip 文件中的文件?

python - 我们还应该为 ZipFile.open 捕获什么异常

ios - 更改 Phonegap 用户代理

iphone - TableView :commitEditingStyle:forRowAtIndexPath how to stop delete button from showing on some cells

ios - NSURL 实现的 UITableView 上的 GCD

ios - iboutlet 和 ibaction 连接错误

java - 是否可以从 zipinputstream 获取 zipentry 的输入流?

ios - 从外部调用函数后,Collectionviewcontroller 上的 Swift 变量重置