iOS中,有时候我们需要从服务器下载资源文件,有2种方式,有时是单个文件传输,有时服务器会将多个文件压缩后进行传输。当资源文件较多时,压缩成zip格式,通过验证文件的MD5值判断文件是否成功下载是一种不错的方式,这里讲一下客户端如何处理zip文件和压缩文件为zip包
我们项目使用的是第三方开源库SSZipArchive,首先在githHub 下载源码,导入项目,使用起来很简单,在需要用的地方
#import "SSZipArchive.h"
filePath是指 zip文件的路径,toPath是文件解压到的位置 delegate是回调:
-(void)achieve
{
[SSZipArchive unzipFileAtPath:filePath toDestination:toPath delegate:self];
}
回调如下:
#pragma mark SSZipArchiveDelegate
-(void)zipArchiveWillUnzipArchiveAtPath:(NSString *)path zipInfo:(unz_global_info)zipInfo
{
NSLog(@"will archive");
}
-(void)zipArchiveDidUnzipArchiveAtPath:(NSString *)path zipInfo:(unz_global_info)zipInfo unzippedPath:(NSString *)unzippedPath
{
NSLog(@"did archive");
}
压缩方法
+ (BOOL)createZipFileAtPath:(NSString *)path withFilesAtPaths:(NSArray *)filenames;