|
|
package main
import ( "fmt" "image/jpeg" "io/ioutil" "net/http" "strings"
"github.com/gorilla/mux" )
func Index(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Welcome! To send images, go to /image") }
func ImageShow(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) imageName := vars["imageName"]
file, err := ioutil.ReadFile(config.Folder + "/" + imageName) if err != nil { fmt.Fprintln(w, err) }
img, err := dataToImage(file, imageName)
if err != nil { fmt.Fprintln(w, "la imatge no existeix al server") } else { jpeg.Encode(w, img, nil) // Write to the ResponseWriter
} }
func NewImage(w http.ResponseWriter, r *http.Request) { err := ipFilter(r) if err != nil { fmt.Fprintln(w, err.Error()) return } 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) }
img, err := dataToImage(data, handler.Filename) if err != nil { fmt.Fprintln(w, "error al processar la imatge") } img = Resize(img) data, err = imageToPNG(img) if err != nil { fmt.Fprintln(w, "error al processar la imatge") } err = ioutil.WriteFile(config.Folder+"/"+fileName, data, 0777) if err != nil { fmt.Println(err) }
fmt.Fprintln(w, config.ServerIP+":"+config.ServerPort+"/images/"+fileName) }
|