Я искал распаковку файла .zip, который загружается в каталог документов. но я нашел только вопросы о них, и я не получил ни одного подходящего ответа, который бы соответствовал моему запросу.
Каждый предлагает скачать файл API под названием «MiniZip» и использовать его. но его громоздкий код и такой большой код мне не нужны. Поэтому было бы здорово, если бы я получил немного кода, чтобы распаковать файл и использовать его. Он загружается из URL точно так же, как он был сохранен, но я не понимаю, как распаковать и использовать его в каталоге документов. Может ли кто-нибудь помочь мне, дав пример кода или предложив мне ..
Следующий код является кодом для загрузки моего zip-файла с использованием URL.
-(IBAction)download:(id)sender{
NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://some url contains .zip file"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (theConnection) {
// Inform the user that the download failed.
recievedData=[[NSMutableData data ]retain];
// [recievedData writeToFile:path atomically:YES];
NSLog(@"download ");
}
else {
NSLog(@"download fail");
}
}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
[recievedData setLength:0];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[recievedData appendData:data];
}
- (void)connection:(NSURLConnection *)connection
didFailWithError:(NSError *)error
{
[connection release];
[recievedData release];
// inform the user
NSLog(@"Connection failed! Error - %@ %@",
[error localizedDescription],
[[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
// do something with the data
// receivedData is declared as a method instance elsewhere
NSLog(@"Succeeded! Received %d bytes of data",[recievedData length]);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path=[documentsDirectory stringByAppendingPathComponent:@"books"];
NSLog(@"value of the path is:%@",path);
[recievedData writeToFile:[path stringByAppendingPathComponent:@"file"] atomically:YES];
[connection release];
[recievedData release];
}