gpt4 book ai didi

go - 如何在使用 Golang 和 gin-gonic 动态创建的 HTML 中渲染/显示图像

转载 作者:数据小太阳 更新时间:2023-10-29 03:18:53 25 4
gpt4 key购买 nike

我正在生成 QR 代码,然后我需要在 HTML 中显示它们,而不是将它们保存为图像。

到目前为止,我可以生成它们,但在 HTML

中呈现它们时遇到问题

我这里有生成 QRgolang 代码和尝试呈现它们的 HTML 模板

语言

import (
"fmt"
"github.com/gin-gonic/gin"
qrcode "github.com/skip2/go-qrcode"
)


func renderQRExport(c *gin.Context){
var images [][]byte
var img []byte
var err error
for i := 0; i < 25; i++ {
img, err = qrcode.Encode("https://example.org", qrcode.Medium, 256)
images = append(images, img)
if err != nil {
fmt.Print(err)
}
}
render(c, gin.H{
"images": images,
}, "qr.html")
}

HTML 模板

<!doctype html>
<html class="no-js" lang="">
<head>
<title>QR export</title>
{{template "imports.html"}}
</head>
<body>
<div class="margin-body-log-in-worker">
<div class="row">
{{range .images}}
<div class="col-4 col-sm-4 col-md-3 col-xl-2 center">
<img src="data:image/png;base64,{{.image}}" class="img-fluid image-dashboard" />
</div>
{{end}}
</div>
</div>
</body>
</html>

正如他们在本文中所说,我不能做的事情之一:https://www.sanarias.com/blog/1214PlayingwithimagesinHTTPresponseingolang并且 Encode 方法本身说 “要通过 HTTP 提供服务,请记住发送 Content-Type: image/png header 。”

如何使用 gingonic 正确设置请求中的内容类型以及如何在 HTML 中正确解码?

最佳答案

感谢这篇文章,我解决了自己的问题:https://www.socketloop.com/tutorials/golang-encode-image-to-base64-example

问题是我需要用'imgBase64Str := base64.StdEncoding.EncodeToString(buf)'将它编码成字符串

所以最终的工作代码如下:

语言

func renderQRExport(c *gin.Context){
var images []string
var img []byte
var err error
for i := 0; i < 25; i++ {
img, err = qrcode.Encode("https://example.org", qrcode.Medium, 256)
img2 := base64.StdEncoding.EncodeToString(img)
images = append(images, img2)
if err != nil {
fmt.Print(err)
}
}
render(c, gin.H{
"images": images,
}, "qr.html")
}

HTML

<!doctype html>
<html class="no-js" lang="">
<head>
<title>QR export</title>
{{template "imports.html"}}
</head>
<body>
<div class="margin-body-log-in-worker">
<div class="row">
{{range .images}}
<div class="col-4 col-sm-4 col-md-3 col-xl-2 center">
<img src="data:image/png;base64,{{.}}" class="img-fluid image-dashboard" />
</div>
{{end}}
</div>
</div>
</body>
</html>

关于go - 如何在使用 Golang 和 gin-gonic 动态创建的 HTML 中渲染/显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57020601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com