下载ZIP文件保存到iPhone
问题描述:
答
如果您使用NSURLConnection
,它的工作原理完全一样的方式,不管文件有哪些类型。
例子:(输入了我的头,不能保证是这样工作的,你显然应该执行错误检查)
- (void) download
{
self.loadedData = [NSMutableData data]; // make 'loadedData' a property of the class
NSURL *url = [NSURL URLWithString:@"http://..."];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:20.0];
[urlRequest setValue:@"Optional User Agent" forHTTPHeaderField:@"User-Agent"];
// shoot it off
NSURLConnection *mainConnection = [NSURLConnection connectionWithRequest:urlRequest delegate:self];
if (nil == mainConnection) {
NSLog(@"Could not create the NSURLConnection object");
}
}
然后,你必须在委托处理输入数据方法,例如只保存数据:
- (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[loadedData appendData:data];
}
看看在其他委托方法并加以实施,你应该处理认证的挑战和失败的反应。您还可以设置例如:
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
在
connection:didReceiveResponse:
和它connectionDidFinishLoading:
再次被设置为NO
。
嗨帕斯卡,感谢您的代码。它的作品适合我。当我保存其他文件(png,txt,xml)时,我简单地将nsdata保存在文件中。 – Rupesh 2010-12-10 10:28:02
@rupesh你可以分享你的代码,因为我也在寻找简单的例子 – Pooja 2011-02-17 22:32:28