Maison  >  Article  >  développement back-end  >  Go Gin : vérifiez base64

Go Gin : vérifiez base64

WBOY
WBOYavant
2024-02-13 11:00:091089parcourir

Go Gin:验证 base64

l'éditeur php Banana vous présente aujourd'hui un outil de vérification appelé Go Gin. Sa fonction est de vérifier si la chaîne codée en base64 est légale. Dans les applications Internet, le codage base64 est l'une des méthodes de transmission de données couramment utilisées, mais nous devons parfois vérifier la chaîne base64 reçue pour garantir l'intégrité et la sécurité des données. Go Gin fournit une interface simple et facile à utiliser, qui peut aider les développeurs à effectuer rapidement une vérification base64 et à améliorer l'efficacité du développement et la sécurité des données. Ensuite, nous présenterons en détail l’utilisation du Go Gin et les techniques associées, dans l’espoir d’être utile à tout le monde.

Contenu de la question

J'essaie d'utiliser gin pour envoyer une image base64 à un serveur écrit en go. J'ai créé une structure avec des liaisons et des balises json pour représenter le corps de la requête comme ceci :

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

Lorsque vous essayez d'utiliser gin, le champ shouldbindjson 解码正文时,我收到 logo 字段的错误。不过,我确实使用在线工具(https://onlinepngtools.com/convert-base64-to-png)验证了解码的对象确实在 logo contient une chaîne base64 valide.

Le code pour décoder json est le suivant :

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

Je n'ai jamais utilisé de gin auparavant, donc je suis sûr de faire un oubli, mais je n'arrive pas à comprendre quoi. Comment puis-je modifier la structure pour autoriser la variante base64 fournie comme prévu ?

Solution de contournement

Si vous envoyez l'image sous la forme d'un URI de données au lieu de simplement envoyer une chaîne base64 nue, alors vous devez utiliser datauribase64字符串,那么你应该使用 datauri 验证器而不是 base64|base64URL|base64RawURL validateur au lieu de base64|base64URL|base64RawURL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer