【问题标题】:Returning SQL Blob from PHP JSON从 PHP JSON 返回 SQL Blob
【发布时间】:2012-02-28 05:26:25
【问题描述】:

我已经阅读了很多关于 PHP/JSON blob 处理的帖子,但是似乎没有一个提供关于如何进行的明确示例。我正在尝试与服务器上的 SQL 数据库通信。有问题的表有一个中等的 blob 字段。我使用 PHP 和 JSON 来获取数据并将其显示在 Android 手机上。我对非 blob 数据没有任何问题。我可以毫无问题地抓住它并展示它。但是,blob 数据始终通过 JSON 返回为“null”。我知道 JSON 不直接支持二进制数据,但是,我的问题仍然存在,如何从 Android 系统访问 blob 数据?有问题的 blob 数据主要是文本文件(即 .PDF、.DOC 等)。我无法控制 SQL 表。更重要的是,如何将 blob 字段与其余数据打包,以便在 Android 平台上进行处理?任何帮助将不胜感激。

【问题讨论】:

  • 嘿 - 对于某些场景,二进制数据的 base64 编码解决了许多问题。它的大小是线上原始数据的 3/2,这是一个问题,但所有数据都是字母数字,为什么它很容易传输。虽然它会导致服务器和客户端的开销,我不知道 php 支持,但也许?

标签: php android sql json blob


【解决方案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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-13
    • 2015-10-18
    • 1970-01-01
    相关资源
    最近更新 更多