iPhone开发之打包zip文件

程序需要往服务器上上传文件, 因为iPhone用户往往是用gprs或者edge网络,为了节约流量以及加快上传速度,所以只好将要上传的文件打包成zip文件,这样体积小了, 也为用户节约了时间和金钱。 开始的时候抱有意思希望去挖掘SDK文档, 未果, sdk不提供zip相关接口,在apple论坛打听了一下,很多dx给的建议是用apple script在后台打包, 对此领域不熟悉,放弃。 好在iPhone的官方SDK支持zLib库,这就好了, 找来minizip,一个封装的挺好的C/C++ zip库, 动手创建Objective-C对象封装之, 只需要几行代码即可完成, 简单实用。

使用方法如下

BOOL ret = [zip CreateZipFile2:l_zipfile];

ret = [zip addFileToZip:l_photo newname:@"photo.jpg"];

if( ![zip CloseZipFile2] )

{
    l_zipfile = @"";
}

[zip release];

其中 l_photo是之源文件路径,  @”photo.jpg” 是在新的文件名(不带路径)

之前没有实现 解压缩的代码, 今天补上了, 使用起来也和压缩差不多,下面时用法演示

ZipArchive* za = [[ZipArchive alloc] init];

if( [za UnzipOpenFile:@"/Volumes/data/testfolder/Archive.zip"] )

{

    BOOL ret = [za UnzipFileTo:@"/Volumes/data/testfolder/extract" overWrite:YES];

    if( NO==ret )

   {

   }

   [za UnzipCloseFile];

}

 

[za release];

需要附件留言,我会发邮箱

你可能感兴趣的:(iPhone开发)