Go r.PostForm 为空

Go r.PostForm is empty

我试图将表单数据和文件发送到服务器,但从服务器发送的表单值为空,但我只收到文件

服务器

func CreatePost(w http.ResponseWriter, r *http.Request) {
    createdAt := time.Now().String()
    r.ParseForm()
    data := r.PostForm.Get("body")
    fmt.Println(r.PostForm)
    r.ParseMultipartForm(10 << 20)
    file, header, err := r.FormFile("file")
    ///Some Codes///////
}

终端输出

19:33:08 app         | listerning on 8080
19:33:11 app         | map[]

根据 ParseForm 的文档:

For other HTTP methods, or when the Content-Type is not application/x-www-form-urlencoded, the request Body is not read, and r.PostForm is initialized to a non-nil, empty value.

提交文件时,内容类型将是多部分类型之一。

根据这些文档,我会尝试这样做:

 r.ParseMultipartForm(10<<20)
 data := r.PostForm.Get("body")
 fmt.Println(r.PostForm)
 file, header, err := r.FormFile("file")