2013-04-16 51 views
0

我在幾天前發帖 Pass MySQL medium blob into IOS NSData\UIImage 但是沒有設法找到解決方案。我的具體問題是,當我從數據庫中檢索,BLOB或TEXT圖像,它返回NULL,沒有在他們的變量只是返回空白來自MySQL的blob text圖像返回NULL

while ($row = mysql_fetch_array($result)) { 

$add = array(); 
$add["Id"] = $row["Id"]; 
$add["Mail"] = $row["Mail"]; 
$add["Category"] = $row["Category"]; 
$add["Phone"] = $row["Phone"]; 
$add["Msgs"] = $row["Msgs"]; 
//image from blob 
$add["Picture"] = $row["Picture"]; 

// push single add into final response array 
array_push($response["adds"], $add); 
} 

是有任何其他方式來解決從BLOB \圖像行文本?!我試過https://stackoverflow.com/a/6273415/1333294,但沒有爲我工作。

+0

您確定Picture字段已設置在您的數據庫中嗎? 你可以提供我用於表格的模式和數據嗎? –

+0

圖片中文utf8_general_ci。所有其他字段返回它們的值很好 – ItayAmza

+0

我認爲你的字段在數據庫中是空的。你能檢查它嗎? 執行select語句: '選擇從圖片YOUR_TABLE_NAME' 然後發佈結果 –

回答

1

最後!

$img = $row["Picture"]; 
    $b64img = base64_encode ($img); 
    $b64img = mysql_real_escape_string($b64img); 
    $add["Picture"] = $b64img; 

就這麼簡單!和xcode將它作爲base64字符串和螺母NULL。感謝您的建議...

0

添加以下代碼

header("Content-type: image/jpeg"); 

echo $row['picture']; 

// Display image with img html tag 

echo '<img src="data:image/jpeg;base64,' . base64_encode($row['picture']) . '" />'; 

echo 'Hello world.'; 

請找示例代碼

$response["adds"] = array(); 
$add = array(); 
$add["Id"] = 1; 
$add["Mail"] = "[email protected]"; 
$add["Category"] = "category"; 
$add["Phone"] = "1234567"; 
$add["Msgs"] = "ths s txt msg"; 
//image from blob 
$add["Picture"] = "pciture"; 

// push single add into final response array 
array_push($response["adds"], $add); 
print_r($response["adds"]); 
header("Content-type: image/jpeg"); 
print $response["adds"][0]['Picture']; 
+0

但即時推送陣列array_push($響應[補充說: 「」],$添加),和所有其他值是字符串... – ItayAmza

+0

我已更新答案 – kapil

+0

nop!仍然爲空。但當我將表格中的行從中等文本轉換爲中等大小時,我確實設法傳遞數據,顯然轉換將數據轉換爲文本。我如何,在PHP內部,將圖像插入到blob之前將其轉換爲字符串? – ItayAmza