有没有办法在Freemarker模板中将字节数组转换为base64?类似的东西:
<img src="data:image/jpeg;base64,${photo.data?base64}" />
感谢。
答案 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)}