我在项目中使用了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代码坏了...... 我该怎么做才能修复破碎的图像?
答案 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 }}" />