如何有效地通过JSON从MYSQL服务器获取BLOB映像文件

时间:2015-10-05 06:17:43

标签: php android mysql json image

我的MYSQL数据库包含5行

while($row = mysqli_fetch_array($res)){
     array_push($result,
         array('id'=>$row[0],
               'name'=>$row[1],
               'username'=>$row[2],
               'password'=>$row[3],
               'email'=>$row[4],
               'image'=>$row[5])
               ));
}

echo json_encode(array("result"=>$result));

图像类型是BLOB。

下面我的PHP代码从MYSQL获取JSON数据。

RESTful

我的应用程序将加载比预期更长的时间来解析返回的JSON中的base64图像字符串。

那么有效存储和检索图像文件的最佳方式是什么?

2 个答案:

答案 0 :(得分:3)

我有类似的问题。所以我避免在MySql中存储图像。 我将它们作为图像文件存储在服务器中,并使用毕加索来显示图像。它非常容易转换和使用。

答案 1 :(得分:0)

假设您的上述代码是正确的,并且您获得base64作为图片,则可以执行此操作

while($row = mysqli_fetch_array($res)){
     array_push($result,
         array('id'=>$row[0],
               'name'=>$row[1],
               'username'=>$row[2],
               'password'=>$row[3],
               'email'=>$row[4],
               'image'=>$row[5])
               ));
}

echo json_encode(array("result"=>$result));
在Android方面,您可以做一些这样的事情将其转换为图像。

byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);

Convert base64 string to Image in Java作为参考