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

gre*_*emo 2 php base64 json

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

class Service
{

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

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

}
Run Code Online (Sandbox Code Playgroud)

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

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

如何正确处理?

Mar*_*c B 5

你通过将它分成两行来破坏你的base64数据.它应该是

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

    return 'data:image/png;base64,' . $image;
}
Run Code Online (Sandbox Code Playgroud)

没有换行符.

  • 糟糕的数据或在屏幕上看起来很难看......你的选择.我会带着一点点丑陋,而不是每次代码运行时都要去掉口红和睫毛膏.如果你真的被困在格式化,那么做`$ image ="xxx"; $ image.="yyy"; $ image.="zzz"`类型操作,因此您可以将数据构建成碎片,没有嵌入的换行符/空格. (2认同)