我目前在我的PHP文件做這個檢索我的JSON數據庫的信息,讓我們把它getJson.php:如何從MySql數據庫檢索圖像?
<?php
include ("config.php");
$query = "SELECT id,title,text,image,date FROM posts";
$result = mysql_query($query) or die(mysql_error());
$num = mysql_num_rows($result);
$rows = array();
while ($r = mysql_fetch_assoc($result)){
$rows[] = $r;
}
echo json_encode($rows);
?>
然後在我的應用程序獲取JSON表示通過使用:
NSURL *url = [NSURL URLWithString:kGETUrlPosts];
NSData *data = [NSData dataWithContentsOfURL:url];
NSError *error;
postsArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
我也有二進制圖像數據存儲爲一個BLOB,我想檢索。然而,我不能JSON編碼這個二進制數據在JSON中,我可以嗎?
我的第二個選擇是已經在圖像領域一直保持一個URL到我的圖像,然後只需調用
UIImage *img = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"www.myURL.com/MyPhotos/somephoto.png"]]];
使用基數64對圖像數據進行編碼。不言而喻,將圖像數據存儲在數據庫中並不是一個好主意。 – datasage
將URL存儲在您的數據庫中是最好的選擇。 –
最好的解決方案是將圖像複製到文件夾並將路徑和圖像名稱保存到數據庫中。如果您將圖片上傳到數據庫,並且您有許多用戶,則閱讀需要更多時間。 – jcho360