Here’s a quick example
func ReceiveFile(w http.ResponseWriter, r *http.Request) {
r.ParseMultipartForm(32 << 20) // limit your max input length!
var buf bytes.Buffer
// in your case file would be fileupload
file, header, err := r.FormFile("file")
if err != nil {
panic(err)
}
defer file.Close()
name := strings.Split(header.Filename, ".")
fmt.Printf("File name %s\n", name[0])
// Copy the file data to my buffer
io.Copy(&buf, file)
// do something with the contents...
// I normally have a struct defined and unmarshal into a struct, but this will
// work as an example
contents := buf.String()
fmt.Println(contents)
// I reset the buffer in case I want to use it again
// reduces memory allocations in more intense projects
buf.Reset()
// do something else
// etc write header
return
}