| 7 | ) |
| 8 | |
| 9 | func HandleMultipartForm(writer http.ResponseWriter, request *http.Request) { |
| 10 | request.ParseMultipartForm(10000000) |
| 11 | fmt.Fprintf(writer, "Name: %v, City: %v\n", |
| 12 | request.MultipartForm.Value["name"][0], |
| 13 | request.MultipartForm.Value["city"][0]) |
| 14 | fmt.Fprintln(writer, "------") |
| 15 | |
| 16 | for _, header := range request.MultipartForm.File["files"] { |
| 17 | fmt.Fprintf(writer, "Name: %v, Size: %v\n", header.Filename, header.Size) |
| 18 | file, err := header.Open() |
| 19 | if (err == nil) { |
| 20 | defer file.Close() |
| 21 | fmt.Fprintln(writer, "------") |
| 22 | io.Copy(writer, file) |
| 23 | } else { |
| 24 | http.Error(writer, err.Error(), http.StatusInternalServerError) |
| 25 | return |
| 26 | } |
| 27 | } |
| 28 | } |
| 29 | |
| 30 | func init() { |
| 31 | http.HandleFunc("/forms/upload", HandleMultipartForm) |