在Freemarker模板中编码base64

时间:2012-11-25 03:35:53

标签: java base64 freemarker

有没有办法在Freemarker模板中将字节数组转换为base64?类似的东西:

<img src="data:image/jpeg;base64,${photo.data?base64}" />

感谢。

1 个答案:

答案 0 :(得分:2)

当前版本中没有内置方式。 (但当然你可以用你自己的方法来做它。)

必须将要调用其方法的对象放入数据模型(即模板上下文)中。 (对于静力学:freemarker.org/docs/pgui_misc_beanwrapper.html#autoid_55

但是,为了便于维护,我更喜欢这样:创建类com.foo.Base64EncoderMethod implements TemplateMethodModelEx(在内部调用Base64.encodeBase64),然后创建模板lib/utils.ftl(如果您还没有类似的话)那个,然后打电话给<#assign base64Encode = 'com.foo.Base64EncoderMethod'?new()>。然后在模板中,调用<#import '/lib/utils.ftl' as u>${u.base64Encode(photo.data)}