Silex 验证码返回损坏的 base64 图像


Silex Captcha returns broken base64 image

我在我的项目中使用了silex captcha(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代码已损坏...我该怎么做才能修复损坏的图像?

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

尝试在树枝中输出原始变量:

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