卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章35540本站已运行397

Go Gin:验证 base64

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字符串,那么你应该使用 datauri 验证器而不是 base64|base64URL|base64RawURL

卓越飞翔博客
上一篇: Golang 泛型排除切片或数组类型
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏