package picture import ( "bytes" "image" "image/jpeg" "os" "git.umbach.dev/picture-storage-handler/modules/structs" log "github.com/sirupsen/logrus" ) func Save(pictureMessage structs.RabbitmqPictureMessage) error { img, _, err := image.Decode(bytes.NewReader(pictureMessage.Picture)) if err != nil { log.Fatalln("imageDecod failed", err) return err } err = os.Mkdir("./storage/"+pictureMessage.UserId, 0755) if err != nil && !os.IsExist(err) { log.Infoln("mkdir failed", err) return err } out, err := os.Create("./storage/" + pictureMessage.UserId + "/" + pictureMessage.Filename) if err != nil { log.Infoln("osCreate failed", err) return err } defer out.Close() err = jpeg.Encode(out, img, nil) if err != nil { log.Println("jpegEncode failed", err) return err } return nil }