私は非常に奇妙な問題を抱えています。私は本当に盲目です。これは何らかのバグです。以下のFORM-データと、このハンドラにバインドさURLにPUTリクエストを送信する際に今r.PostFormとr.Formは常に空です
func ServeHTTP(w http.ResponseWriter, r *http.Request) {
err := r.ParseForm()
if err != nil {
log.Println("Error while parsing form data")
return
}
log.Println("Printing r.PostForm:")
for key, values := range r.PostForm { // range over map
for _, value := range values { // range over []string
log.Println(key, value)
}
}
b, _ := ioutil.ReadAll(r.Body)
s := string(b)
log.Println("Printing body: ",s)
}
、::私は、次のhttp.Handlerを持って
Name=someName
Version=1.0.0
PLanguage=java
GitRepo=someRepo
これは、出力は常に次のとおりです。
Printing r.PostForm:
Printing body: Name=someName&Version=1.0.0&PLanguage=java&GitRepo=someRepo
私はすでに2のような時間のための原因を見つけるためにしようとしてきたと私はちょうど一体ここで何が間違っている見当がつかない。フォームデータの解析でエラーは発生しませんが、r.PostFormマップは常に空です(同じ結果を持つr.Formも試しました)。だから、デバッグのために私は本体を印刷する部分を追加しました。そこに実際にいくつかのデータがあることを確認するだけでした。私は本当にここで何か助けていただければ幸いです。前もって感謝します!
これは、ParseMultipartFormを試してエラーが発生した後、Content-Typeが設定されていないということです。だから私は適切なヘッダーを追加し、すべてが今働くようです。しかし、この答えのおかげです! – azaryc2s