1
我有一個HTTP處理程序的問題。 當我啓動HTTP服務器,的第一個請求到此處理接收上傳的文件引發錯誤:爲什麼帶有文件上傳的HTTP請求在首次請求(僅)上失敗?
multipart: Part Read: read tcp 127.0.0.1:9002->127.0.0.1:37704: read: bad file descriptor
下一個請求正常工作。
這裏是處理程序的開頭:
func FileNewHandler(w http.ResponseWriter, r *http.Request) {
if err := r.ParseMultipartForm(32 << 20); err!= nil {
log.Fatal(err) // Here is where the error is logged
return
}
...
只是爲了信息,我有Nginx的作爲代理,althought我不認爲這個問題來自於這裏。
有沒有人有錯誤的起源的想法?
謝謝您的幫助;-)
您能提供一個代碼重現的樣本嗎? –
我試圖提供一個例子來重現錯誤,但我不能... 該示例正常工作,我的處理程序在完整的應用程序失敗。 我不明白爲什麼。 – Tony
我開始找到答案。我使用goagain(https://github.com/rcrowley/goagain)在構建後重新啓動服務器。如果我停止並啓動服務器,則不會有任何問題,但如果在重新啓動失敗後使用gogain第一次上載重新啓動。我繼續深入搜索,如果發現此問題的起因,我會發表評論。 – Tony