package utils import ( "Open_IM/pkg/common/constant" "errors" "fmt" "math/rand" "os" "path" "time" ) // Determine whether the given path is a folder func IsDir(path string) bool { s, err := os.Stat(path) if err != nil { return false } return s.IsDir() } // Determine whether the given path is a file func IsFile(path string) bool { return !IsDir(path) } // Create a directory func MkDir(path string) error { return os.MkdirAll(path, os.ModePerm) } func GetNewFileNameAndContentType(fileName string, fileType int) (string, string) { suffix := path.Ext(fileName) newName := fmt.Sprintf("%d-%d%s", time.Now().UnixNano(), rand.Int(), fileName) contentType := "" if fileType == constant.ImageType { contentType = "image/" + suffix[1:] } return newName, contentType } func GetUploadAppNewName(appType int, version, fileName, yamlName string) (string, string, error) { var newFileName, newYamlName = "_" + version + "_app", "_" + version + "_yaml" switch appType { case constant.IOSPlatformID: newFileName = constant.IOSPlatformStr + newFileName newYamlName = constant.IOSPlatformStr + newYamlName case constant.AndroidPlatformID: newFileName = constant.AndroidPlatformStr + newFileName newYamlName = constant.AndroidPlatformStr + newYamlName case constant.WindowsPlatformID: newFileName = constant.WindowsPlatformStr + newFileName newYamlName = constant.WindowsPlatformStr + newYamlName case constant.OSXPlatformID: newFileName = constant.OSXPlatformStr + newFileName newYamlName = constant.OSXPlatformStr + newYamlName case constant.WebPlatformID: newFileName = constant.WebPlatformStr + newFileName newYamlName = constant.WebPlatformStr + newYamlName case constant.MiniWebPlatformID: newFileName = constant.MiniWebPlatformStr + newFileName newYamlName = constant.MiniWebPlatformStr + newYamlName case constant.LinuxPlatformID: newFileName = constant.LinuxPlatformStr + newFileName newYamlName = constant.LinuxPlatformStr + newYamlName default: return "", "", errors.New("invalid app type") } suffixFile := path.Ext(fileName) suffixYaml := path.Ext(yamlName) newFileName = fmt.Sprintf("%s%s", newFileName, suffixFile) newYamlName = fmt.Sprintf("%s%s", newYamlName, suffixYaml) if yamlName == "" { newYamlName = "" } return newFileName, newYamlName, nil }