arnaucube
arnaucube/goImgServerPublic Self-hosted repository
convert new images to PNG
arnaucode idoctnef@openmailbox.org
Tue, 20 Jun 2017 20:57:31 +0200
commit

5a47f730205e53898dbe7335f653ca7c5c7b2361

parent

bd717bccc2a723cbcf5f90351d3359e0dc4bd1da

2 files changed, 13 insertions(+), 3 deletions(-)

jump to
M handlers.go → handlers.go

@@ -5,6 +5,7 @@ "fmt"

"image/jpeg" "io/ioutil" "net/http" + "strings" "github.com/gorilla/mux" )

@@ -36,6 +37,8 @@ file, handler, err := r.FormFile("file")

if err != nil { fmt.Println(err) } + imageName := strings.Split(handler.Filename, ".")[0] + fileName := imageName + ".png" data, err := ioutil.ReadAll(file) if err != nil { fmt.Println(err)

@@ -46,14 +49,14 @@ if err != nil {

fmt.Fprintln(w, "error al processar la imatge") } img = Resize(img) - data, err = imageToData(img, handler.Filename) + data, err = imageToPNG(img) if err != nil { fmt.Fprintln(w, "error al processar la imatge") } - err = ioutil.WriteFile(handler.Filename, data, 0777) + err = ioutil.WriteFile(fileName, data, 0777) if err != nil { fmt.Println(err) } - fmt.Fprintln(w, "url:", handler.Filename) + fmt.Fprintln(w, "url:", fileName) }
M imageOperations.go → imageOperations.go

@@ -51,6 +51,13 @@ }

return buf.Bytes(), err } +func imageToPNG(img image.Image) ([]byte, error) { + buf := new(bytes.Buffer) + var err error + err = png.Encode(buf, img) + return buf.Bytes(), err +} + func Resize(img image.Image) image.Image { r := resize.Resize(160, 0, img, resize.Lanczos3) return r