电子邮件不使用车把显示 base64 图像.js



伙计们,我被困在使用车把在HTML电子邮件中显示base64图像.js。

    //imageURL : data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzM/////wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2iQ3YmmKqVlRtW4MLwWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw==
    <img id="img" class="someClass" src="{{imageURL}}" >

我不知道如何使用车把显示图像。请帮助我走得更远。

您的模板已经正确。如果需要使用模板的示例,请参阅以下代码:

var source = document.getElementById("template").innerHTML;
var template = Handlebars.compile(source);
var context = {
  imageURL: "data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzM/////wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2iQ3YmmKqVlRtW4MLwWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw=="
};
var html = template(context);
document.getElementById("template").innerHTML = html;
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.11/handlebars.min.js"></script>
<div id="template">
  <img id="img" class="someClass" src="{{imageURL}}" >
</div>

更新:作者没有指定该模板在电子邮件中使用。如评论中所述,电子邮件客户端可能不支持base64图像。有关此问题的更详细答案,请查看 http://stackoverflow.com/a/9330720/2540618 的答案。

您需要像这样使用SafeString

import { SafeString } from 'handlebars'
const imageURL = new SafeString('data:image/png;base64,R0lGODlhDwAPAKECAAAAzMzM/////wAAACw...')
// In your template
<img id="img" class="someClass" src="{{imageURL}}" >

最新更新