同步下载:
-(void)downloadSynJarFiles
{
NSString *urlAsString = @"http://192.168.1.196:8080/PlaceNaviServer/WEB-INF/lib/activation.jar";---要下载的全路径名
NSURL *url = [NSURL URLWithString:urlAsString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSError *error = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];
/*下载的数据*/
if (data!=nil) {
NSLog(@"下载成功");
if ([data writeToFile:@"/Users/sunningning/Desktop/activation.jar" atomically:YES]) {--下载到目的路径名
NSLog(@"保存成功!");
}
else
{
NSLog(@"保存失败!");
}
}
else{
NSLog(@"%@",error);
}
}
异步下载:
//异步
-(void)downloadAsnJarFiles
{
NSString *urlAsString = @"http://192.168.1.196:8080/PlaceNaviServer/WEB-INF/lib/activation.jar";
NSURL *url = [NSURL URLWithString:urlAsString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSMutableData *data = [[NSMutableData alloc]init];
self.connectionData = data;
[data release];
NSURLConnection *newConnection = [[NSURLConnection alloc]
initWithRequest:request delegate:self
startImmediately:YES];
self.connection = newConnection;
[newConnection release];
if (connection !=nil) {
NSLog(@"Successfully create the connection");
}
else{
NSLog(@"can not create the connection!");
}
}
-(void)connection:(NSURLConnection *)connection
didFailWithError:(NSError *)error
{
NSLog(@"an error happened!");
NSLog(@"%@",error);
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSLog(@"receive data");
[self.connectionData appendData:data];--这里才真正意义的取值和赋值
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSLog(@"haha----");
/*下载数据*/
if ([self.connectionData writeToFile:@"/Users/sunningning/Desktop/activation.jar" atomically:YES]) {--保存到目的路径
NSLog(@"保存成功!");
}
else
{
NSLog(@"保存失败!");
}
/*处理data*/
}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
[self.connectionData setLength:0];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
[self.connection cancel];//取消连接
self.connectionData = nil;//属性
self.connection = nil;//属性
}