MCPcopy Create free account
hub / github.com/Apress/pro-go / HandleMultipartForm

Function HandleMultipartForm

24 - HTTP Servers/httpserver/upload.go:9–28  ·  view source on GitHub ↗
(writer http.ResponseWriter, request *http.Request)

Source from the content-addressed store, hash-verified

7)
8
9func 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
30func init() {
31 http.HandleFunc("/forms/upload", HandleMultipartForm)

Callers

nothing calls this directly

Calls 2

CloseMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected