Go에서는 Gin 프레임워크를 사용하여 HTTP 요청을 처리하고 데이터를 사용자 정의 요청 구조에 바인딩할 수 있습니다. 단일 multipart/form-data 요청으로 JSON 데이터와 이미지를 모두 수신하려면 다음 요청 핸들러를 정의할 수 있습니다.
func UpdateProfile(c *gin.Context) { type request struct { Avatar *multipart.FileHeader `form:"avatar" binding:"required"` User struct { Username string `json:"username" binding:"required,min=4,max=20"` Description string `json:"description" binding:"required,max=100"` } `form:"user" binding:"required"` } var updateRequest request // Bind the request data to the request structure if err := c.ShouldBindWith(&updateRequest, binding.FormMultipart); err != nil { // Return an appropriate error response _ = c.AbortWithError(http.StatusBadRequest, err) return } // Handle the image // ... // Handle the JSON data // ... }
두 가지를 모두 사용하여 요청을 보내려면 JSON 데이터 및 이미지는 multipart/form-data 콘텐츠 유형을 사용합니다. 요청 본문은 다음과 같이 구성되어야 합니다.
--boundary Content-Disposition: form-data; name="avatar"; filename="profile.jpg" Content-Type: image/jpeg //... image data --boundary Content-Disposition: form-data; name="user" Content-Type: application/json { "username": "username", "description": "description" } --boundary--
위 내용은 Go Gin 프레임워크에서 JSON과 이미지 업로드를 동시에 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!