我在某个 URL 上有一个 .zip 文件,我想下载它、解压并将其保存到 nsdocument 目录中,而无需任何 UI 或用户交互。然后回读。
最佳答案
在 .h 文件中声明此变量
NSMutableData *responseData;
在 viewDidLoad 方法中写入此代码 此方法将开始从给定 URL 下载文件
NSURL *serverURL = [NSURL URLWithString:@"your file URL here"];
NSURLRequest *request = [NSURLRequest requestWithURL:serverURL];
NSURLConnection *cn = [NSURLConnection connectionWithRequest:request delegate:self];
[cn start];
在.m文件中实现此委托(delegate)方法
#pragma mark - NSURLConnection Delegate Methods
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
NSLog(@"%s",__FUNCTION__);
responseData = nil;
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSLog(@"%s",__FUNCTION__);
responseData = [[NSMutableData alloc] initWithCapacity:0];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSLog(@"%s",__FUNCTION__);
[responseData appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSLog(@"%s",__FUNCTION__);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDirPath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
NSString *filePath = [docDirPath stringByAppendingPathComponent:@"DownloadedZip.zip"];
// Save file to Document Directory
[responseData writeToFile:filePath atomically:YES];
responseData = nil;
}
下载项目以取消存档 zip 文件 here并将文件保存到文档目录后放置取消存档代码
关于iphone - 下载 nsDocumentDirectory 中的 zip 文件,解压并阅读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15955372/