簡體   English   中英

在ios中壓縮doc文件並將其保存到文檔目錄

[英]Zip the doc file in ios and save in to document directory

我想將文檔文件保存到文檔目錄中的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];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM