Symfony2 отправляет изображение, созданное с помощью imagecreate () через ответ (httpfoundation)

Я хочу отправить простое изображение через ответ httpgoundation, с одного контроллера на другой. Вот мой код:

    $string = (string)md5(uniqid());
$string = substr($string, 0, $length);

$image = imagecreate(200, 50);
imagefill($image, 0, 0, "#000000");

$headers= array(
'Content-type'=>'image/jpeg',
'Pragma'=>'no-cache',
'Cache-Control'=>'no-cache'
);

$response = new Response( $image, 200, $headers );

return new Response($response);

Ошибка говорит The Response content must be a string or object implementing __toString(), В поисках ответа с помощью Google я нашел только людей, которые хотят вернуть файл куда-нибудь с сервера (актив). Что я должен сделать, чтобы это работало?

1

Решение

Вы должны использовать return $response; вместо return new Response($response);

И вы должны конвертировать ресурс изображения в строку. Сделайте следующее:

    $string = (string)md5(uniqid());
$string = substr($string, 0, $length);

$image = imagecreate(200, 50);
imagefill($image, 0, 0, "#000000");

$headers= array(
'Content-type'=>'image/jpeg',
'Pragma'=>'no-cache',
'Cache-Control'=>'no-cache'
);

ob_start();
imagejpeg($img);
$imageString = ob_get_clean();

return new Response( $imageString, 200, $headers );
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector