如何:显示动态生成的图像而不将其写入光盘 - 来自 Typo3 v4.5 extbase 扩展


how to: display an image generated on the fly without writing it to disc - from a typo3 v4.5 extbase extension?

我正在使用imagepgn生成条形码图像(使用PHP-条形码0.4 http://www.ashberg.de/php-barcode/),但宁愿不将它们保存到光盘 - 只是似乎没有必要,因为图像不需要很长时间,而且它们很小,在需要时可以快速生成。

我在想一个动作 showbarcodeAction 它只会调用 imagepgn 函数,但需要一个与动作关联的模板,对吗? 如果是这样,当我真正需要的只是图像时,它不会生成一些 html 吗? 我可以在标准 img 标签中显示图像,即使它实际上没有保存到光盘中吗?

我正在使用带有扩展数据库的 typo3 v4.5。

谢谢!

(Q 也发布在 http://forum.typo3.org/index.php/m/698624/#msg_698624 因为当我尝试首先在此处发布它时,一些错误阻止了本网站接受它)

如果您想以

"您的风格"执行此操作,请在操作中生成图像,修改标头以返回正确的 MIME 类型,并在操作结束时添加退出。退出将阻止 Extbase 调用视图,因此您不需要模板。

这篇文章可以启发你:http://buzz.typo3.org/people/soeren-malling/article/create-a-download-action-with-extbase/您只需要删除"推送文件"部分(内容描述)。

就我个人而言,我会选择base64方式:生成图像,使用base64(PHP:base64_encode)对其进行编码,然后将其传递给您的Fluid模板。