iphone使用ASIHTTPRequest下载带变量的图像

时间:2011-11-17 00:12:10

标签: iphone image download asihttprequest

我遇到了烦人的事情。

我将图片上传到服务器就可以了。 但是,当我尝试从服务器下载图像时,我希望获得带有字符串变量的图像。这是我的PHP代码服务器端

         ....

        echo "image_getting;";
        $fullPath = $_POST['download_image'];
        echo file_get_contents($fullPath);

         ....

如果我从我的服务器[request responseData]中删除第一行正常工作。 但是,我想得到“image_getting”;因为我也在下载一些不同的类型。

如果我能清除,iphone方面 当我说

- (void)requestFinished:(ASIHTTPRequest *)request
{
    NSString *responseString = [request responseString];
    NSLog(@"%@",responseString);

    NSArray *resultResponseArray = [responseString componentsSeparatedByString:@";"];
    if([[resultResponseArray objectAtIndex:0] isEqualToString:@"image_getting"])
    {
          NSData *responseData = [request responseData];
          UIImage * image = [UIImage imageWithData:aData];
          .......
    }
    else if...
....
}

你可以看到上面的响应数据也采用echo“image_getting”我如何拆分它。 我试图将它们转换并拆分它不起作用。

我应该说,我对php非常糟糕。

如果有人帮助我,我将不胜感激。 感谢

编辑:解决方案Php方

    header('X-Return: image_getting;');
    $fullPath = $_POST['download_image'];
    echo file_get_contents($fullPath);

iphone方面

    NSLog(@"header %@",[[request responseHeaders] objectForKey:@"X-Return"]);

1 个答案:

答案 0 :(得分:2)

为什么不将“image_getting”放入响应中的HTTP标头中呢?这将使解析更容易 - 然后您可以检索标题:

NSString *whatever = [[request responseHeaders] objectForKey:@"X-Whatever"];

然后[request responseData]将只包含图像。