Мне нужно отобразить картинку в моем шаблоне ветки. Я получаю эту картину в моем контроллере в качестве строки в кодировке base64, поэтому я создал личную функцию в моей службе, чтобы декодировать base64:Symfony2 - base64_decode в twig
public function base64ToImg($base64)
{
$img_str = 'image/png;base64,'.$base64;
$img_data = explode(";",$img_str);
$type_img = $img_data[0];
$final_img = explode(",",$img_data[1]);
header("Content-type:".$type_img);
return base64_decode($final_img[1]);
}
и в моем контроллере:
$logo = $this->container->get('services.utils')->base64ToImg($mydata);
echo $logo;
die();
Он работает, но при отправке $logo
в мой шаблон с render
, изображение не отображается с {{ logo }}
. Я попытался создать свою собственную функцию твига, но также не работает ...
Есть решение?
Благодаря
Вы делаете неправильные вещи. Зачем вам нужно '$ img_str' здесь? Ваш '$ type_img' всегда' image/png', ваш '$ final_img [1]' всегда равен '$ base64'. –