我无法解压缩zip文件并从解压缩的内容(index.html)中获取一个paritcular文件,最后使用index.html加载UIWebview。
使用GZIP库解压缩正在下载的文件
[data gunzippedData];
用于使用GZIP解压缩数据的方法。
答案 0 :(得分:0)
要从web解压缩文件,请使用以下代码。
在您的文件中添加ZipArchive.h和#import。
NSURL *urlVersion = [NSURL URLWithString: [tempDirOuter objectForKey:@"filename"]];
NSLog(@"txt File : %@",urlVersion);
NSError *error = nil;
// 2
NSData *data = [NSData dataWithContentsOfURL:urlVersion options:0 error:&error];
NSString *textFilePath;
if(!error)
{
// 3
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
NSString *strFileName = [tempDirOuter objectForKey:@"fileNameOnly"];
NSString *zipPath = [path stringByAppendingPathComponent:strFileName];
[data writeToFile:zipPath options:0 error:&error];
ZipArchive *za = [[ZipArchive alloc] init];
// 1
if ([za UnzipOpenFile: zipPath])
{
// 2
BOOL ret = [za UnzipFileTo: path overWrite: YES];
if (NO == ret){} [za UnzipCloseFile];
// 3
NSString *StrName = [strFileName stringByReplacingOccurrencesOfString:@".zip" withString:@".txt"];
textFilePath = [path stringByAppendingPathComponent:StrName];
}
if(!error)
{
// TODO: Unzip
}
else
{
NSLog(@"Error saving file %@",error);
}
}
else
{
NSLog(@"Error downloading zip file: %@", error);
}
NSString *webVersion = [NSString stringWithContentsOfFile:textFilePath encoding:NSASCIIStringEncoding error:nil];
在字符串webVersion中,您将获得html路径。