Silex Captcha返回损坏的base64图像

时间:2016-03-17 00:50:24

标签: php html twig captcha silex

我在项目中使用了silex验证码(kilte / silex-captcha)。

我通过以下方法获取图像数据:

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

这种回归,例如以下字符串:

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

我尝试使用以下代码在我的树枝模板中输出图像:

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

然后输出总是被打破(最终的源看起来像这样):

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

我正在使用支持base 64图像的浏览器(FF 41.0.2)。好像base64代码坏了...... 我该怎么做才能修复破碎的图像?

2 个答案:

答案 0 :(得分:2)

解码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数据。

答案 1 :(得分:0)

尝试在树枝中输出raw变量:

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