arnaucube
arnaucube/goImgServerPublic Self-hosted repository
recieve an image and stores it to a file
arnaucode idoctnef@openmailbox.org
Tue, 20 Jun 2017 11:50:02 +0200
commit

5df6ca9a9430519df31f2eb4b6d53ea5e2e23ec5

parent

75c384c9f3104a2e9a4936d8bbd6d47c3444742c

1 files changed, 8 insertions(+), 22 deletions(-)

jump to
M handlers.go → handlers.go

@@ -1,9 +1,7 @@

package main import ( - "encoding/json" "fmt" - "io" "io/ioutil" "net/http"

@@ -21,29 +19,17 @@ fmt.Fprintln(w, "Image show:", imageName)

} func NewImage(w http.ResponseWriter, r *http.Request) { - var img ImageModel - body, err := ioutil.ReadAll(io.LimitReader(r.Body, 1048576)) + file, handler, err := r.FormFile("file") if err != nil { - panic(err) + fmt.Println(err) } - if err := r.Body.Close(); err != nil { - panic(err) + data, err := ioutil.ReadAll(file) + if err != nil { + fmt.Println(err) } - fmt.Println(string(body)) - if err := json.Unmarshal(body, &img); err != nil { - w.Header().Set("Content-Type", "application/json; charset=UTF-8") - w.WriteHeader(422) // unprocessable entity - if err := json.NewEncoder(w).Encode(err); err != nil { - panic(err) - } + err = ioutil.WriteFile(handler.Filename, data, 0777) + if err != nil { + fmt.Println(err) } - img.File = body - fmt.Println(img) - fmt.Println(img.File) - w.Header().Set("Content-Type", "application/json; charset=UTF-8") - w.WriteHeader(http.StatusCreated) - if err := json.NewEncoder(w).Encode(img.File); err != nil { - panic(err) - } }