如何使用 FOSRestBundle 从 base64 输出 1x1 像素

How to output 1x1 pixel from base64 using FOSRestBundle

我需要return这个:

return header('Content-Type: image/png'); 
echo base64_decode('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=');

通过使用 FOSRestBundle,但我不知道如何处理其中的 echo。我有这个代码:

public function getTrackingEmailAction(ParamFetcher $paramFetcher, Request $request)
{
    $view = View::create();
    $response = [];
    $view->setData($response)->setHeader('Content-Type', 'image/png')->setStatusCode(200);

    return $view;
}

如何发送 base64 以显示 1x1 像素?我需要看风景吗? (树枝视图)

根据上面的代码片段,您不必 return Base64。相反,事实恰恰相反:您必须 return 原始图像数据,它只是 Base64 编码,因为 PHP 代码中包含二进制内容不是很好 ;-)

因此,在您的控制器操作中,您只需 return 以图像数据作为内容的适当响应

return new Response(base64_decode('...'), 200, ['Content-Type' => 'image/png']);