Im Gin-Framework von Go können Sie sowohl JSON-Daten als auch Bilder mithilfe von Multipart-/Formulardatenanfragen empfangen. So geht's:
type request struct { Avatar *multipart.FileHeader `form:"avatar" binding:"required"` Payload struct { Username string `json:"username" binding:"required,min=4,max=20"` Desc string `json:"description" binding:"required,max=100"` } `form:"payload" binding:"required"` }
In diesem Code gibt Avatar die Bilddatei an, während Payload die JSON-Daten definiert. Beachten Sie, dass Bindungs-Tags zur Datenvalidierung verwendet werden.
Verwenden Sie in Ihrem Anfrage-Handler c.ShouldBindWith(), um die eingehenden Daten an die Anfragestruktur zu binden:
func (h *Handlers) UpdateProfile() gin.HandlerFunc { return func(c *gin.Context) { var u request if err := c.ShouldBindWith(&u, binding.FormMultipart); err != nil { c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": err}) return } // Process avatar and Payload data as needed... } }
Zusammenfassend: Sie kann Multipart-/Formulardatenanfragen verwenden, um sowohl JSON-Daten als auch Bilder im Gin-Framework von Go zu empfangen. Verwenden Sie c.ShouldBindWith() mit der richtigen Bindung, um den Anforderungstext zu analysieren und auf die Daten zuzugreifen.
Das obige ist der detaillierte Inhalt vonWie kann ich JSON-Daten und Bilder gleichzeitig im Gin Framework von Go empfangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!