我正在为一个API构建一个路由器层,在那里我获取响应并从请求主体中提取一个参数(在本例中是一个service_code,名称可以变化- service_code、serviceCode、code需要处理所有参数),并将其传递给需要它的服务。数据可以是原始json格式的application/json、查询参数、路径参数,也可以是表单数据multipart/form-data。我可以对其他服务执行此操作,但对于表单,当我将有效负载传递到目标服务时,我会收到错误multipart: NextPart: EOF。
下面是我读取数据的方式:
c.MultipartForm()
postForm := c.Request.PostForm
queryParams := c.Request.URL.Query()
route := c.Request.URL.Path
body, _ := ioutil.ReadAll(c.Request.Body)
serviceCode, destUrl, payload := getCityCode(queryParams, route, body, postForm)然后我将这个有效负载传递给http.NewRequest
http.NewRequest(method, destUrl, strings.NewReader(payload))当我读取数据时,在目的地:
data := models.Data{}
err := c.Bind(&data); err != nil {
  c.JSON(400, gin.H{"error": err.Error()})
  return
}错误是multipart: NextPart: EOF。谁来帮帮忙!
发布于 2021-10-23 04:57:46
当表单为空时会出现此错误,因为您在绑定表单之前使用ioutil读取了所有流数据。在绑定后,您应该更改代码以使用所需的信息。
https://stackoverflow.com/questions/69659662
复制相似问题