2016-03-17 2 views
0

Я использую silex captcha в своем проекте (кит/силекс-капчу).Silex Captcha возвращает сломанные base64 image

Я извлечение данных изображения с помощью следующего способа:

$app['captcha.builder']->inline() 

Это returnes например, следующая строка:

data:image/jpeg;base64,PGJyIC8+CjxiPldhcm5pbmc8L2I+OiAgaW1hZ2VqcGVnKCkgZXhwZWN0cyBwYXJhbWV0ZXIgMSB0byBiZSByZXNvdXJjZSwgbnVsbCBnaXZlbiBpbiA8Yj5DOlx4YW1wcFxodGRvY3NccHJvamVrdGVcc2lsZXhcdmVuZG9yXGdyZWd3YXJcY2FwdGNoYVxDYXB0Y2hhQnVpbGRlci5waHA8L2I+IG9uIGxpbmUgPGI+NTY0PC9iPjxiciAvPgo= 

Я стараюсь, чтобы выводить изображение в моем шаблоне веточки со следующим кодом:

<img src="{{ captchaImageCode }}" /> 

Выход тогда всегда нарушаются (окончательный источник выглядит следующим образом):

<img src="data:image/jpeg;base64,PGJyIC8+CjxiPldhcm5pbmc8L2I+OiAgaW1hZ2VqcGVnKCkgZXhwZWN0cyBwYXJhbWV0ZXIgMSB0byBiZSByZXNvdXJjZSwgbnVsbCBnaXZlbiBpbiA8Yj5DOlx4YW1wcFxodGRvY3NccHJvamVrdGVcc2lsZXhcdmVuZG9yXGdyZWd3YXJcY2FwdGNoYVxDYXB0Y2hhQnVpbGRlci5waHA8L2I+IG9uIGxpbmUgPGI+NTY0PC9iPjxiciAvPgo=" /> 

Я использую браузер, который поддерживает изображения базовой 64 (FF 41.0.2). Кажется, что код base64 сломан ... Что я могу сделать, чтобы исправить сломанное изображение?

ответ

1

Декодирование base64, чтобы увидеть, что возвращается ....

<br /> 
<b>Warning</b>: imagejpeg() expects parameter 1 to be resource, null given in <b>C:\xampp\htdocs\projekte\silex\vendor\gregwar\captcha\CaptchaBuilder.php</b> on line <b>564</b><br /> 

Как вы можете видеть, что это пишет данные base64 с вместо фактического изображения.

0

Try для вывода raw переменной в веточке:

<img src="{{ captchaImageCode | raw }}" /> 
+0

К сожалению, изображение остается сломанным. – Benjamin

+0

Но ваша первая строка изображения равна второй строке, которая вставляется в src img-тега. По крайней мере, на примере –