2017-02-24 26 views
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我不認爲這個問題來自於這裏。

有沒有人有錯誤的起源的想法?

謝謝您的幫助;-)

+0

您能提供一個代碼重現的樣本嗎? –

+0

我試圖提供一個例子來重現錯誤,但我不能... 該示例正常工作,我的處理程序在完整的應用程序失敗。 我不明白爲什麼。 – Tony

+0

我開始找到答案。我使用goagain(https://github.com/rcrowley/goagain)在構建後重新啓動服務器。如果我停止並啓動服務器,則不會有任何問題,但如果在重新啓動失敗後使用gogain第一次上載重新啓動。我繼續深入搜索,如果發現此問題的起因,我會發表評論。 – Tony

回答