refactor(context): add an optional permission parameter to the SaveUploadedFile method (#4068) (#4088)

Co-authored-by: hso <hso@trinitysoft.co.kr>
This commit is contained in:
haesuo566
2024-11-16 00:54:06 +09:00
committed by GitHub
parent e8d34d053f
commit e46bd52185
2 changed files with 52 additions and 2 deletions
+11 -2
View File
@@ -7,6 +7,7 @@ package gin
import (
"errors"
"io"
"io/fs"
"log"
"math"
"mime/multipart"
@@ -676,14 +677,22 @@ func (c *Context) MultipartForm() (*multipart.Form, error) {
}
// SaveUploadedFile uploads the form file to specific dst.
func (c *Context) SaveUploadedFile(file *multipart.FileHeader, dst string) error {
func (c *Context) SaveUploadedFile(file *multipart.FileHeader, dst string, perm ...fs.FileMode) error {
src, err := file.Open()
if err != nil {
return err
}
defer src.Close()
if err = os.MkdirAll(filepath.Dir(dst), 0o750); err != nil {
if len(perm) <= 0 {
perm = append(perm, 0o750)
}
if err = os.MkdirAll(filepath.Dir(dst), perm[0]); err != nil {
return err
}
if err = os.Chmod(filepath.Dir(dst), perm[0]); err != nil {
return err
}