压缩文件处理(第三方解压缩框架——SSZipArchive)

下载地址:https://github.com/samsoffes/ssziparchive

注意:需要引入libz.dylib框架

// Unzipping

NSString *zipPath=@"path_to_your_zip_file";

NSString *destinationPath=@"path_to_the_folder_where_you_want_it_unzipped";

[SSZipArchiveunzipFileAtPath:zipPathtoDestination: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];

[SSZipArchivecreateZipFileAtPath:zippedPathwithFilesAtPaths:inputPaths];

代码示例:

//
//  ViewController.m
//  文件下载
//


#import "ViewController.h"
#import "YKDFileDownloader.h"
#import "SSZipArchive.h"

@interface ViewController ()
//下载器
@property(nonatomic,strong)YKDFileDownloader *fileDownloader;
@end

@implementation ViewController

- (YKDFileDownloader *)fileDownloader
{
    if (!_fileDownloader) {
        _fileDownloader = [[YKDFileDownloader alloc] init];
        
        //需要下载的远程文件URL
        _fileDownloader.url = @"https://xxxx.com/images.zip";
        //文件保存到什么地方
        NSString *caches = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject];
        NSString *filepath = [caches stringByAppendingPathComponent:@"images.zip"];
        _fileDownloader.destPath = filepath;
        
        _fileDownloader.progressHandler = ^(double progress){
            NSLog(@"下载进度---%f",progress);
        };
        _fileDownloader.completionHandler = ^{
            NSLog(@"下载完毕");
            //解压文件(文件大会比较耗时)
            [SSZipArchive unzipFileAtPath:filepath toDestination:caches];
        };
    }
    return _fileDownloader;
}

- (void)viewDidLoad {
    [super viewDidLoad];

}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    //开始下载
    [self.fileDownloader start];
}

@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值