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  }