convert new images to PNG

This commit is contained in:
arnaucode
2017-06-20 20:57:31 +02:00
parent bd717bccc2
commit 5a47f73020
2 changed files with 13 additions and 3 deletions

View File

@@ -5,6 +5,7 @@ import (
"image/jpeg" "image/jpeg"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"strings"
"github.com/gorilla/mux" "github.com/gorilla/mux"
) )
@@ -36,6 +37,8 @@ func NewImage(w http.ResponseWriter, r *http.Request) {
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
} }
imageName := strings.Split(handler.Filename, ".")[0]
fileName := imageName + ".png"
data, err := ioutil.ReadAll(file) data, err := ioutil.ReadAll(file)
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
@@ -46,14 +49,14 @@ func NewImage(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "error al processar la imatge") fmt.Fprintln(w, "error al processar la imatge")
} }
img = Resize(img) img = Resize(img)
data, err = imageToData(img, handler.Filename) data, err = imageToPNG(img)
if err != nil { if err != nil {
fmt.Fprintln(w, "error al processar la imatge") fmt.Fprintln(w, "error al processar la imatge")
} }
err = ioutil.WriteFile(handler.Filename, data, 0777) err = ioutil.WriteFile(fileName, data, 0777)
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
} }
fmt.Fprintln(w, "url:", handler.Filename) fmt.Fprintln(w, "url:", fileName)
} }

View File

@@ -51,6 +51,13 @@ func imageToData(img image.Image, imageName string) ([]byte, error) {
return buf.Bytes(), err 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 { func Resize(img image.Image) image.Image {
r := resize.Resize(160, 0, img, resize.Lanczos3) r := resize.Resize(160, 0, img, resize.Lanczos3)
return r return r