Я пытаюсь обработать загруженные файлы на go http сервере.Но вызов ParseMultipartForm всегда завершается ошибкой со странной ошибкой: « multipart: NextPart: EOF », хотя форма действительна.Отладив его, я вижу, что получаю полные закодированные данные, а также размер и параметры.Тем не менее, он не может выполнить анализ.
Вот как я запускаю свой сервер:
func uploadLogoHandler(w http.ResponseWriter, r *http.Request) {
//fmt.Fprintf(w, "viewLogoHandler, Path: %s!", r.URL.Path[1:])
bodyBytes, _ := ioutil.ReadAll(r.Body)
bodyString := string(bodyBytes)
writeToLog("uploadLogoHandler:" + r.URL.Path, "bodyString length:" + strconv.Itoa(len(bodyString)))
upload(w, r)
}
///////////////////////////////////////////////////////////////////////////////////////
// main
func main() {
if(len(os.Args) < 2) {
fmt.Println("Usage: receiver [port number]")
os.Exit(1)
}
port := os.Args[1]
s := &http.Server{
Addr: ":" + port,
ReadTimeout: 10 * time.Second,
WriteTimeout: 10 * time.Second,
}
http.HandleFunc("/uploadLogo/", uploadLogoHandler)
http.HandleFunc("/", handler)
log.Fatal(s.ListenAndServe())
}