Silex Captcha returns 损坏的 base64 图像

Silex Captcha returns broken base64 image

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

尝试在 twig 中输出 raw 变量:

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

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