首页 >后端开发 >Golang >Go Gin:验证 base64

Go Gin:验证 base64

WBOY
WBOY转载
2024-02-13 11:00:091124浏览

Go Gin:验证 base64

php小编香蕉今天为大家介绍一款名为Go Gin的验证工具,它的作用是验证base64编码的字符串是否合法。在互联网应用中,base64编码是常用的数据传输方式之一,但有时候我们需要对接收到的base64字符串进行验证,以确保数据的完整性和安全性。Go Gin提供了简单易用的接口,可以帮助开发者快速进行base64验证,提高开发效率和数据安全性。接下来,我们将详细介绍Go Gin的使用方法和相关技巧,希望对大家有所帮助。

问题内容

我正在尝试使用 gin 将 base64 图像发送到用 go 编写的服务器。我创建了一个带有绑定和 json 标签的结构来表示请求正文,如下所示:

type createcompanyrequestbody struct {
    name string `json:"name" binding:"required"`
    size string `json:"size" binding:"required"`
    logo string `json:"logo" binding:"required,base64|base64url|base64rawurl"`
}

当尝试使用 gin 的 shouldbindjson 解码正文时,我收到 logo 字段的错误。不过,我确实使用在线工具(https://onlinepngtools.com/convert-base64-to-png)验证了解码的对象确实在 logo 字段中包含有效的 base64 字符串。

解码json的代码如下:

var body createCompanyRequestBody
if err := ctx.ShouldBindJSON(&body); err != nil {
    ctx.Status(http.StatusBadRequest) // Will always hit this
}

我以前没有用过杜松子酒,所以我确信我有疏忽,但我似乎不明白是什么。如何更改结构以允许按预期提供的 base64 变体?

解决方法

如果您将图像作为数据 URI 而不仅仅是发送裸 base64字符串,那么你应该使用 datauribase64字符串,那么你应该使用 datauri 验证器而不是 base64|base64URL|base64RawURL 验证器而不是 base64|base64URL|base64RawURL

以上是Go Gin:验证 base64的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除