如何使用AFImageRequestOperation从Web服务器API检索图像?

时间:2012-11-02 14:49:59

标签: ios xcode api uiimage afnetworking

我是AFNetworking的新手,我很难从我收到的服务器中检索图像数据。我想显示存储在Web服务器API中的图像。这就是我的URLRequest带回来的地方:

    {
o_id: "2",
g_id: "1",
title: "Here's a new objective",
description: "This is the description",
hint: "",
target: "10",
timestamp: "2012-09-19 17:24:59",
filename: "http://uploadedimageurl.co.uk/view/uploads/obj_2_1351788537.jpg",
image_width: "600",
active: "1",
group_name: "Test Group",
n_insights: "15",
n_comments: "0",
unixtimestamp: 1348071899,
}

我想在文件名中检索图像:我只是画了一个关于我如何做这件事的空白。我已经开始使用 AFImageRequestOperation ,但我不确定我是否在正确的轨道上 - 我将展示我到目前为止所拥有的......

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@/api/groups/get/1",URL_ROOT]];
    AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
    NSURLRequest *request = [httpClient requestWithMethod:@"GET" path:nil parameters:nil];
 AFImageRequestOperation *imageOperation = [AFImageRequestOperation imageRequestOperationWithRequest:request imageProcessingBlock:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image)
    {


    } failure:nil];

    [imageOperation start];

只是想看看我是否朝着正确的方向检索此图像数据,但也想知道如何检索存储在文件名中的图像:任何想法?先谢谢你们和男孩们!

1 个答案:

答案 0 :(得分:1)

您需要发送2个请求:

  1. AFJSONRequestOperation
  2. AFImageRequestOperation
  3. 在第一个请求操作的成功块中,您将检索图像URL:

    NSString* filename = [JSON valueForKey:@"filename"];
    NSURL* imageURL = [NSURL URLWithString:filename];
    

    然后使用该URL发送第二个请求(仅当它不是nil时)。 如果是AFImageRequestOperation,你会在成功块中收到UIImage。