From 7aa372dca14bc7291316b4d6fb261d2e5d504dff Mon Sep 17 00:00:00 2001 From: log101 Date: Thu, 4 Jul 2024 20:34:48 +0300 Subject: [PATCH] feat: save images in database --- .gitignore | 2 ++ go.mod | 6 +++--- models/KonuluKonum.go | 6 ++++-- server.go | 5 +++-- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 2f117dd..6271d98 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,5 @@ go.work TODO .env test.db + +public/* diff --git a/go.mod b/go.mod index 042002d..5a418c1 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,9 @@ require ( github.com/dchest/uniuri v1.2.0 github.com/gofiber/fiber/v2 v2.52.5 github.com/h2non/bimg v1.1.9 + github.com/joho/godotenv v1.5.1 + gorm.io/driver/sqlite v1.5.6 + gorm.io/gorm v1.25.10 ) require ( @@ -13,7 +16,6 @@ require ( github.com/google/uuid v1.5.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect - github.com/joho/godotenv v1.5.1 // indirect github.com/klauspost/compress v1.17.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect @@ -24,6 +26,4 @@ require ( github.com/valyala/fasthttp v1.51.0 // indirect github.com/valyala/tcplisten v1.0.0 // indirect golang.org/x/sys v0.15.0 // indirect - gorm.io/driver/sqlite v1.5.6 // indirect - gorm.io/gorm v1.25.10 // indirect ) diff --git a/models/KonuluKonum.go b/models/KonuluKonum.go index bf62f6f..2c117d0 100644 --- a/models/KonuluKonum.go +++ b/models/KonuluKonum.go @@ -1,11 +1,13 @@ package models -import "gorm.io/gorm" +import ( + "gorm.io/gorm" +) type KonuluKonum struct { gorm.Model URI string - ImageURI string + Image []byte `gorm:"type:BLOB"` Loc string AuthorName string Description string diff --git a/server.go b/server.go index 1a12204..997960b 100644 --- a/server.go +++ b/server.go @@ -86,12 +86,13 @@ func main() { fmt.Println(imageUri) - db.Create(&models.KonuluKonum{URI: "sample", ImageURI: imageUri, Loc: "sample", AuthorName: "sample", Description: "sample", UnlockedCounter: 0}) + db.Create(&models.KonuluKonum{URI: "sample", Image: newImage, Loc: "sample", AuthorName: "sample", Description: "sample", UnlockedCounter: 0}) var konuluKonum models.KonuluKonum db.First(&konuluKonum) - fmt.Println(konuluKonum.ImageURI) + // Save image + bimg.Write("./public/storedImage.webp", konuluKonum.Image) db.Delete(&konuluKonum)