为了账号安全,请及时绑定邮箱和手机立即绑定

如何将变量传递到 html 模板中并将其用作 img 源

如何将变量传递到 html 模板中并将其用作 img 源

Go
慕斯709654 2022-08-24 17:24:56
我正在处理 Web 服务器。我的目标是使用 base64 字符串加载图像,并在网站上显示该图像。base64 字符串应根据我用于加载模板的变量而有所不同。这是我的 Go 渲染代码:varmap := map[string]interface{}{    "username": discordTag,    "b64":      "data:image/png;base64,looongstring",}fmt.Println("logged in!")templates.ExecuteTemplate(w, "index.html", varmap)这是我的索引.html<!DOCTYPE html><html>  <head>    <meta charset="UTF-8" />    <meta http-equiv="X-UA-Compatible" content="IE=edge" />    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>Document</title>  </head>  <body>    <div>      <h1>Welcome back, {{ .username }} {{ .b64 }}</h1>      <img src="{{ .b64 }}"/>    </div>  </body></html>用户名的显示工作正常,将 base64 字符串显示为文本也很好。用户名显示工作查看浏览器呈现的 HTML,img src 显示为“#ZgotmplZ”
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

假设您使用的是 html/template 包,该包会转义字符串以防止代码注入。您可以将 base64 dataurl 包装进去,告诉模板引擎如何处理您的字符串。template.URL


varmap := map[string]interface{}{

    "username": discordTag,

    "b64":      template.URL("data:image/png;base64,looongstring"),

}


我应该注意,除非图像非常小,否则最好静态地提供它们,而不是将嵌入到html中。


查看完整回答
反对 回复 2022-08-24
  • 1 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号