mirror of
https://github.com/gin-gonic/gin.git
synced 2025-10-14 20:22:20 +08:00
Fixed part where permissions could not be changed due to umask settings
This commit is contained in:
parent
84b377075d
commit
75fe2b9d00
@ -689,7 +689,12 @@ func (c *Context) SaveUploadedFile(file *multipart.FileHeader, dst string, perm
|
||||
perm = append(perm, 0o750)
|
||||
}
|
||||
|
||||
if err = os.MkdirAll(filepath.Dir(dst), perm[0]); err != nil {
|
||||
dirPath := filepath.Dir(dst)
|
||||
if err = os.MkdirAll(dirPath, perm[0]); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err = os.Chmod(dirPath, perm[0]); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -171,7 +171,7 @@ func TestSaveUploadedFileWithPermission(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "permission_test", f.Filename)
|
||||
|
||||
var mode fs.FileMode = 0o777
|
||||
var mode fs.FileMode = 0o755
|
||||
require.NoError(t, c.SaveUploadedFile(f, "permission_test", mode))
|
||||
|
||||
info, err := os.Stat(filepath.Dir("permission_test"))
|
||||
@ -195,7 +195,7 @@ func TestSaveUploadedFileWithPermissionFailed(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "permission_test", f.Filename)
|
||||
|
||||
var mode fs.FileMode = 0o666
|
||||
var mode fs.FileMode = 0o644
|
||||
require.Error(t, c.SaveUploadedFile(f, "test/permission_test", mode))
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user