GoScrobble/internal/goscrobble/image.go

51 lines
898 B
Go
Raw Normal View History

package goscrobble
import (
"fmt"
"io"
"net/http"
"os"
)
func importImage(uuid string, url string) error {
// Create the file
path, err := os.Getwd()
if err != nil {
return err
}
out, err := os.Create(path + string(os.PathSeparator) + StaticDirectory + string(os.PathSeparator) + "img" + string(os.PathSeparator) + uuid + "_full.jpg")
if err != nil {
return err
}
defer out.Close()
// Get the data
resp, err := http.Get(url)
if err != nil {
return err
}
defer resp.Body.Close()
// Check server response
if resp.StatusCode != http.StatusOK {
return fmt.Errorf("Bad response status: %s", resp.Status)
}
// Writer the body to file
_, err = io.Copy(out, resp.Body)
if err != nil {
return err
}
2021-04-16 23:34:53 +00:00
// Goroutine the resize to keep it _faaaast_
go resizeImage(uuid)
return nil
}
2021-04-16 23:34:53 +00:00
func resizeImage(uuid string) {
// resize to 300x300 and maybe smaller?
return
}