我已经阅读了很多关于PHP / JSON blob处理的帖子,但似乎没有提供关于如何继续的明确示例。我正在尝试与服务器上的SQL数据库进行通信。有问题的表有一个中等blob字段。我使用PHP和JSON来获取数据并将其显示在Android手机上。我对非blob数据没有任何问题。我可以抓住它并毫无问题地显示它。但是,blob数据始终通过JSON返回为“null”。我知道JSON不直接支持二进制数据,但我的问题仍然存在,如何从Android系统访问blob数据?所讨论的blob数据主要是文本文件(即.PDF,.DOC等)。我无法控制SQL表。更重要的是,如何将blob字段与其余数据打包在一起,以便我可以在Android平台上处理它?任何帮助将不胜感激。
答案 0 :(得分:1)
将二进制数据存储在数据库表中可能不是一个好主意,请参阅此问题:Storing Images in DB - Yea or Nay?
您可以在PHP中使用base64_encode()
来编码二进制数据。
在PHP中,它可能看起来像这样:
$row = mysql_fetch_assoc($res);
foreach($row as $key => $value){
$json[$key] = base64_encode($value);
}
echo json_encode($json);