github.com/goravel/framework@v1.13.9/filesystem/utils.go (about) 1 package filesystem 2 3 import ( 4 "path/filepath" 5 "strings" 6 7 "github.com/goravel/framework/contracts/filesystem" 8 "github.com/goravel/framework/support/file" 9 ) 10 11 func fullPathOfFile(filePath string, source filesystem.File, name string) (string, error) { 12 extension := filepath.Ext(name) 13 if extension == "" { 14 var err error 15 extension, err = file.Extension(source.File(), true) 16 if err != nil { 17 return "", err 18 } 19 20 return filepath.Join(filePath, strings.TrimSuffix(strings.TrimPrefix(filepath.Base(name), string(filepath.Separator)), string(filepath.Separator))+"."+extension), nil 21 } else { 22 return filepath.Join(filePath, strings.TrimPrefix(filepath.Base(name), string(filepath.Separator))), nil 23 } 24 }