php - 使用 json_encode 和 PHP 处理 base64 编码的图像

标签 php base64 json

我的 PHP 类返回一个小的 base64 编码图像,链接:

class Service
{

  function getLogo()
  {
    $image = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c
             QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwA";

    return 'data:image/png;base64,' . $image;
  }

}

使用json_encode返回图片会在每行$image之后添加\n:

$service = new Service();
$response = array('name' => $service->getName(), 'logo' => $service->getLogo());
header('Content-type: application/json');
echo json_encode($response);

如何正确处理?

最佳答案

您将 base64 数据分成两行,从而破坏了它。应该是

function getLogo() {
    $image = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4cQAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwA";

    return 'data:image/png;base64,' . $image;
}

没有换行符。

关于php - 使用 json_encode 和 PHP 处理 base64 编码的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8244265/

相关文章:

javascript函数没有被执行

Android RxJava 记住变量

PHP export MySQL to xml 非英文字符在浏览器中显示为 `?`

php - 从下拉菜单中选择选项的操作

json - 将 Typescript 接口(interface)与递归 JSON 结合使用

java - 如何安装Commons Codec?

java - 从 JWT 到 json 的 Base64 字符串

php - 如何从数据库获取数据并使用 php 中的下拉列表将其显示到标签?

php - 使用正则表达式将大写匹配项转换为粗体

javascript - 使用 Horseman 和 PhantomJS 下载 wav 文件会丢失数据质量