github.com/ngocphuongnb/tetua@v0.0.7-alpha/app/services/file.go (about) 1 package services 2 3 import ( 4 "github.com/ngocphuongnb/tetua/app/entities" 5 "github.com/ngocphuongnb/tetua/app/fs" 6 "github.com/ngocphuongnb/tetua/app/repositories" 7 "github.com/ngocphuongnb/tetua/app/server" 8 "github.com/valyala/fasthttp" 9 ) 10 11 func SaveFile(c server.Context, inputFileName string) (*entities.File, error) { 12 featuredImageHeader, err := c.File(inputFileName) 13 if err != nil { 14 if err != fasthttp.ErrMissingFile { 15 c.Logger().Error(err) 16 return nil, err 17 } 18 return nil, nil 19 } 20 21 featuredImage, err := fs.Disk().PutMultipart(c.Context(), featuredImageHeader) 22 if err != nil { 23 return nil, err 24 } 25 26 return repositories.File.Create(c.Context(), &entities.File{ 27 Disk: featuredImage.Disk, 28 Path: featuredImage.Path, 29 Type: featuredImage.Type, 30 Size: featuredImage.Size, 31 UserID: c.User().ID, 32 }) 33 }