您的位置:首页 > 房产 > 建筑 > Golang:gin模板渲染base64图片出现#ZgotmplZ

Golang:gin模板渲染base64图片出现#ZgotmplZ

2024/12/23 16:53:40 来源:https://blog.csdn.net/mouday/article/details/139319587  浏览:    关键词:Golang:gin模板渲染base64图片出现#ZgotmplZ

目录

    • 问题描述
    • 场景复现
    • 解决办法

问题描述

gin模板渲染base64图片出现#ZgotmplZ

场景复现

项目目录

main.go
templates/index.html

gin模板渲染base64图片

package mainimport ("net/http""github.com/gin-gonic/gin"
)// base64图片
var imageUrl = "data:image/gif;base64,R0lGODlhMwAxAIAAAAAAAP///yH5BAAAAAAALAAAAAAzADEAAAK8jI+pBr0PowytzotTtbm/DTqQ6C3hGXElcraA9jIr66ozVpM3nseUvYP1UEHF0FUUHkNJxhLZfEJNvol06tzwrgdLbXsFZYmSMPnHLB+zNJFbq15+SOf50+6rG7lKOjwV1ibGdhHYRVYVJ9Wnk2HWtLdIWMSH9lfyODZoZTb4xdnpxQSEF9oyOWIqp6gaI9pI1Qo7BijbFZkoaAtEeiiLeKn72xM7vMZofJy8zJys2UxsCT3kO229LH1tXAAAOw=="func main() {app := gin.Default()// 加载模板文件app.LoadHTMLGlob("templates/*")// 生成验证码app.GET("/", func(ctx *gin.Context) {ctx.HTML(http.StatusOK, "index.html", gin.H{"imageUrl": imageUrl,})})// 监听并在 http://127.0.0.1:8080 上启动服务app.Run()
}

模板内容 index.html

<img src="{{.imageUrl}}">

图片没有正常显示
在这里插入图片描述

查看页面渲染结果,发现base64字符串没有显示完整

<img src="#ZgotmplZ">

解决办法

修改字符串,指定其类型

"imageUrl": template.URL(imageUrl)

完整代码

package mainimport ("html/template""net/http""github.com/gin-gonic/gin"
)var imageUrl = "data:image/gif;base64,R0lGODlhMwAxAIAAAAAAAP///yH5BAAAAAAALAAAAAAzADEAAAK8jI+pBr0PowytzotTtbm/DTqQ6C3hGXElcraA9jIr66ozVpM3nseUvYP1UEHF0FUUHkNJxhLZfEJNvol06tzwrgdLbXsFZYmSMPnHLB+zNJFbq15+SOf50+6rG7lKOjwV1ibGdhHYRVYVJ9Wnk2HWtLdIWMSH9lfyODZoZTb4xdnpxQSEF9oyOWIqp6gaI9pI1Qo7BijbFZkoaAtEeiiLeKn72xM7vMZofJy8zJys2UxsCT3kO229LH1tXAAAOw=="func main() {app := gin.Default()// 加载模板文件app.LoadHTMLGlob("templates/*")// 生成验证码app.GET("/", func(ctx *gin.Context) {ctx.HTML(http.StatusOK, "index.html", gin.H{"imageUrl": template.URL(imageUrl),})})// 监听并在 http://127.0.0.1:8080 上启动服务app.Run()
}

渲染结果
在这里插入图片描述
再次查看其渲染结果,发现base64字符串显示完整了

<img src="data:image/gif;base64,R0lGODlhMwAxAIAAAAAAAP///yH5BAAAAAAALAAAAAAzADEAAAK8jI&#43;pBr0PowytzotTtbm/DTqQ6C3hGXElcraA9jIr66ozVpM3nseUvYP1UEHF0FUUHkNJxhLZfEJNvol06tzwrgdLbXsFZYmSMPnHLB&#43;zNJFbq15&#43;SOf50&#43;6rG7lKOjwV1ibGdhHYRVYVJ9Wnk2HWtLdIWMSH9lfyODZoZTb4xdnpxQSEF9oyOWIqp6gaI9pI1Qo7BijbFZkoaAtEeiiLeKn72xM7vMZofJy8zJys2UxsCT3kO229LH1tXAAAOw==">

参考

  • go使用template出现#ZgotmplZ

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com