Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pergi Gin: sahkan asas64

Pergi Gin: sahkan asas64

WBOY
WBOYke hadapan
2024-02-13 11:00:091089semak imbas

Go Gin:验证 base64

editor php Banana hari ini memperkenalkan anda kepada alat pengesahan yang dipanggil Go Gin Fungsinya adalah untuk mengesahkan sama ada rentetan yang dikodkan base64 adalah sah. Dalam aplikasi Internet, pengekodan base64 ialah salah satu kaedah penghantaran data yang biasa digunakan, tetapi kadangkala kita perlu mengesahkan rentetan base64 yang diterima untuk memastikan integriti dan keselamatan data. Go Gin menyediakan antara muka yang ringkas dan mudah digunakan, yang boleh membantu pembangun melaksanakan pengesahan base64 dengan cepat dan meningkatkan kecekapan pembangunan dan keselamatan data. Seterusnya, kami akan memperkenalkan penggunaan Go Gin dan teknik berkaitan secara terperinci, dengan harapan dapat membantu semua orang.

Kandungan soalan

Saya cuba menggunakan gin untuk menghantar imej base64 ke pelayan yang ditulis dalam go. Saya mencipta struktur dengan bindings dan tag json untuk mewakili badan permintaan seperti ini:

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

Apabila cuba menggunakan gin medan shouldbindjson 解码正文时,我收到 logo 字段的错误。不过,我确实使用在线工具(https://onlinepngtools.com/convert-base64-to-png)验证了解码的对象确实在 logo mengandungi rentetan base64 yang sah.

Kod untuk menyahkod json adalah seperti berikut:

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

Saya tidak pernah menggunakan gin sebelum ini jadi saya pasti saya membuat kesilapan tetapi saya tidak dapat memikirkan apa. Bagaimanakah saya boleh menukar struktur untuk membenarkan varian base64 yang disediakan seperti yang diharapkan?

Penyelesaian

Jika anda menghantar imej sebagai data URI dan bukannya hanya menghantar rentetan base64 bogel, maka anda harus menggunakan datauribase64字符串,那么你应该使用 datauri 验证器而不是 base64|base64URL|base64RawURL validator dan bukannya base64|base64URL|base64RawURL.

Atas ialah kandungan terperinci Pergi Gin: sahkan asas64. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam