2011-11-17 66 views
2

我被卡住了煩人的東西。使用ASIHTTPRequest變量的iphone下載圖像

我上傳的圖像到服務器沒關係。 但是,當我嘗試從服務器下載圖像時,我想用字符串變量獲取圖像。這裏是我的php代碼服務器端

  .... 

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

     .... 

如果我從我的服務器[請求響應數據]工作正常刪除第一行。 但是,我想也得到「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... 
.... 
} 

,你可以看到上面的響應數據也在採取回聲「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"]); 

回答

2

你爲什麼不把 「image_getting」 成HTTP頭中,而不是反應?這將使解析更容易 - 然後您可以檢索標頭:

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

然後[request responseData]將只包含圖像。

+1

其實我找到了一種方法,我知道「image_gettin;」是14個字節,我可以分裂它,但它不是我將使用的方式。你的方式更加實用,非常感謝你。 – Nacrug