php小编新一在这篇文章中将为您介绍在使用golang的html/template模板中如何在base64中嵌入图片。在web开发中,经常会遇到需要将图片以base64的形式嵌入到html模板中的情况。这种做法可以减少http请求,提高网页加载速度。本文将详细讲解如何使用golang的html/template包来实现这一功能,使您的网页加载更加高效。
向地鼠同胞致敬。
我需要在 html 模板中以 base64 形式返回数据矩阵。
在模板中它看起来像这样。
<img src="data:image/png;base64,{{.Datamatrix}}" alt="Datamatrix"/>
我将我的 Base64 数据插入到 .Datamatrix 中。一切都很好。 Base64 是有效的并且全部(在不同的解码器上检查),但是当我将数据传递到模板 +(plus)
符号时,符号更改为 +
像这样进行base64编码:
base64.StdEncoding.EncodeToString(b)
也尝试过 base64.URLEncoding.EncodeToString(b)
,但是更多的符号变得混乱。
将参数作为字符串类型的结构字段传递
尝试以不同的方式传递它:作为类型template.HTML
,使用template.HTMLEscapeString
,template.URLEscapeString
,template.JSEscapeString
,但没有结果。
我们将非常感谢此问题的有效解决方案。
示例 https://go.dev/play/p/c_s-wPl6dMT
github上的相关问题:https://github.com/golang/go/issues/42506
P>S> 更改为文本/模板也不是一个选项。在实际项目中,我还有一些东西注入到模板中,但它们根本无法与文本/模板库一起使用。
令人惊讶的是,足够的文本/模板解决了所有问题。并且没有对其他注射造成任何新的问题。
https://www.php.cn/link/c1e247e2235eb596c080297d6903cf39
以上是+ 在 base64 中使用 html/template golang的详细内容。更多信息请关注PHP中文网其他相关文章!