登录
首页 >  Golang >  Go问答

传递变量并在 HTML 模板中用作图像来源的方法

来源:stackoverflow

时间:2024-02-25 12:24:25 331浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《传递变量并在 HTML 模板中用作图像来源的方法》,文章讲解的知识点主要包括,如果你对Golang方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

问题内容

我正在开发一个网络服务器。 我的目标是使用 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)

这是我的index.html



  
    
    
    
    Document
  
  
    

Welcome back, {{ .username }} {{ .b64 }}

用户名的显示工作正常,并且将 base64 字符串显示为文本也工作正常。 用户名作品展示

查看浏览器呈现的 html,img src 显示为“#zgotmplz”


正确答案


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

varmap := map[string]interface{}{
    "username": discordTag,
    "b64":      template.URL("data:image/png;base64,looongstring"),
}

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

理论要掌握,实操不能落!以上关于《传递变量并在 HTML 模板中用作图像来源的方法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>