我的 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/