mirror of
https://github.com/arnaucube/goImgServer.git
synced 2026-02-07 11:36:40 +01:00
convert new images to PNG
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"image/jpeg"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
)
|
||||
@@ -36,6 +37,8 @@ func NewImage(w http.ResponseWriter, r *http.Request) {
|
||||
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 @@ func NewImage(w http.ResponseWriter, r *http.Request) {
|
||||
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)
|
||||
}
|
||||
|
||||
@@ -51,6 +51,13 @@ func imageToData(img image.Image, imageName string) ([]byte, error) {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user