现在的位置: 首页 > 综合 > 正文

ASIHTTPRequest类库-下载一张网络图片

2013年12月05日 ⁄ 综合 ⁄ 共 1437字 ⁄ 字号 评论关闭

效果图:



(1)ASIHTTPRequest类库简介和使用说明怎么添加到项目中)点击打开链接

(2)

ViewController.h

@property (weak, nonatomic) IBOutletUIImageView *showImageView;
- (IBAction)loadImage:(id)sender;

-------------------------------------------

ViewController.m

- (IBAction)loadImage:(id)sender {
    
    NSURL *url = [NSURLURLWithString:@"http://pica.nipic.com/2007-12-12/20071212235955316_2.jpg"];
    
    
//    [self synchronousRequest:url];
    [selfunSynchronousRequest:url];
    
    
}

//同步请求
-(void)synchronousRequest:(NSURL *)url{
    
    ASIHTTPRequest *request = [ASIHTTPRequestrequestWithURL:url];
    [requestsetRequestMethod:@"GET"];
    [request setTimeOutSeconds:60];
    //设置请求头
    //    [request setRequestHeaders:<#(NSMutableDictionary *)#>];
    //设置cookies
    //    [request setRequestCookies:<#(NSMutableArray *)#>];
    
    [requeststartSynchronous];    //发送同步请求
    
   NSError *error = request.error;
   if (error == nil) {
       NSData *data = request.responseData;
       UIImage *image = [UIImageimageWithData:data];
       self.showImageView.image = image;
    }else{
    
       NSLog(@"同步请求网络出错:%@",error);
    }
}

//异步请求
-(void)unSynchronousRequest:(NSURL *)url {
    
    ASIFormDataRequest *request = [ASIFormDataRequestrequestWithURL:url];
    [requestsetRequestMethod:@"GET"];
    [request setTimeOutSeconds:60];
    [requestsetDelegate:self];//设置代理
    [request startAsynchronous];//发送异步请求
    
}
#pragma mark - ASIHTTPRequest delegate
//请求数据完成
- (void)requestFinished:(ASIHTTPRequest *)request {
   NSData *data = request.responseData;
   self.showImageView.image = [UIImageimageWithData:data];
}

//请求失败
- (void)requestFailed:(ASIHTTPRequest *)request {
   NSError *error = request.error;
   NSLog(@"请求网络出错:%@",error);
}

抱歉!评论已关闭.