我正在使用 Flask + Jinja 的组合,并且尝试在 Jinja 渲染的 HTML 文件中显示图像。
在 Python 中,我将其转换为 base64 格式,然后发送到模板中。然后,我使用图像标签来显示该图像。
<img src="data:image/jpeg;base64,{{ myimage }}">
我确认Python编码是正确的,当我简单地写一个包含base64的html文件时,它显示得很好。但似乎出现问题的地方是模板对输出进行了一些修改。特别是:
<img src=3D"data:;base64,/9j/4QAYR
...
baW4WqWj/2Q=3D=3D"/>
Jinja似乎在一些地方添加了“3D”文本,看起来不应该这样。我没有指定任何不同的东西,当我将myimage打印为纯文本时,它按照我预期的方式显示,以/9j开头,以/2Q==结尾。
我不确定我在Jijna中解释的方式是否有问题,但它就是无法加载。我在电子邮件源中看到图像src标记,但在我期望加载图像的位置上什么也没有。
<img src="data:image/jpeg;base64,{{ myimage.decode('utf-8') | safe }}">
。 - Vladimir Osinskiy