如何从echo.Context.MultipartForm()中检索[]字符串类型的form.Value

时间:2019-03-30 00:15:22

标签: go multipartform-data go-echo

我正在从echo.Context解析多部分表单。我使用[]string检索切片(form.Value)的值。这将返回一个带有大括号的值。 (例如[["this","something"]])。

我尝试从非切片(string)值读取数据,并且该值正确返回。

这会解析c echo.Context

中的表单
// Parse the Multipart form
    form, err := c.MultipartForm()
    if err != nil {
        return dataModel, err
    }

这将从表单中检索值。

    product := form.Value["products"]
    if len(product) > 0 {
        dataModel.Product = form.Value["products"]
    }

dataModel定义如下的JSON结构:

// LockRequest is the model for incoming lock requests
type LockRequest struct {
    Product     []string `json:"products" form:"products" query:"products"`
}

dataModel.Product返回的值为[["crm","something"]]。它可能正在创建列表列表。我希望它返回["crm","something"]

预期:["crm","something"] 实际:[["crm","something"]]

1 个答案:

答案 0 :(得分:0)

我意识到我在错误地卷曲数据。

curl -XPOST -H 'Content-Type: multipart/form-data' -F 'products=crm,something' http://localhost:50051/lockHandler

代替

curl -XPOST -H 'Content-Type: multipart/form-data' -F 'products="crm","something"' http://localhost:50051/lockHandler

为我工作。