gpt4 book ai didi

ios - 在ios中压缩doc文件并保存到document目录

转载 作者:行者123 更新时间:2023-11-29 02:03:01 29 4
gpt4 key购买 nike

我想将 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];

}
}

最佳答案

您必须使用 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];

关于ios - 在ios中压缩doc文件并保存到document目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30122914/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com