1diff --git a/pkg/components/media/model.go b/pkg/components/media/model.go
2index f5c9ff6e725f7fc9bb25db01793b69835742e0ea..0e17e9231f4f7ded99d4d6fa6e866f34756a5514 100644
3--- a/pkg/components/media/model.go
4+++ b/pkg/components/media/model.go
5@@ -15,6 +15,8 @@ MIMEType string
6 }
7
8 MediaEXIF struct {
9+ Width *float64
10+ Height *float64
11 Description *string
12 Camera *string
13 Maker *string
14diff --git a/pkg/database/sql/media.go b/pkg/database/sql/media.go
15index 59a4b83cd13b57b64e643a2b8a87f7f2c18fd9be..3446f792eabcf77cdae30b8f97500f15ddbd0900 100644
16--- a/pkg/database/sql/media.go
17+++ b/pkg/database/sql/media.go
18@@ -21,6 +21,8 @@ }
19
20 MediaEXIF struct {
21 gorm.Model
22+ Width *float64
23+ Height *float64
24 MediaID uint
25 Media Media
26 Description *string
27@@ -58,6 +60,8 @@ }
28
29 func (m *MediaEXIF) ToModel() *media.MediaEXIF {
30 return &media.MediaEXIF{
31+ Height: m.Height,
32+ Width: m.Width,
33 Description: m.Description,
34 Camera: m.Camera,
35 Maker: m.Maker,
36@@ -188,6 +192,8 @@
37 func (s *MediaRepository) CreateEXIF(ctx context.Context, id uint, info *media.MediaEXIF) error {
38 media := &MediaEXIF{
39 MediaID: id,
40+ Width: info.Width,
41+ Height: info.Height,
42 Description: info.Description,
43 Camera: info.Camera,
44 Maker: info.Maker,
45diff --git a/pkg/fileop/exif.go b/pkg/fileop/exif.go
46index c2449adffc06db661a40e0519ab5d4ad3821f6db..79716ebe76df1d97bb717872cde6fe56095b7ffb 100644
47--- a/pkg/fileop/exif.go
48+++ b/pkg/fileop/exif.go
49@@ -37,6 +37,17 @@ if err == nil {
50 newExif.Maker = &make
51 }
52
53+ // Get Image Size
54+ width, err := fileInfo.GetFloat("ImageWidth")
55+ if err == nil {
56+ newExif.Width = &width
57+ }
58+
59+ height, err := fileInfo.GetFloat("ImageHeight")
60+ if err == nil {
61+ newExif.Height = &height
62+ }
63+
64 // Get lens
65 lens, err := fileInfo.GetString("LensModel")
66 if err == nil {