NSURLRequest 同步和异步

同步下载:

-(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;//属性

}




阅读更多
文章标签: url
个人分类: NSMutableURLRequest
上一篇ios5 目录1-15
下一篇JAVA获取项目路径
想对作者说点什么? 我来说一句

URLConnection 数据解析

2015年11月18日 37KB 下载

socket同步异步示例编程

2010年09月17日 48KB 下载

没有更多推荐了,返回首页

关闭
关闭