61 lines
1.2 KiB
Go
61 lines
1.2 KiB
Go
package utils
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
"path/filepath"
|
|
"strconv"
|
|
"time"
|
|
)
|
|
|
|
// FormatFileSize
|
|
/*
|
|
@Description: 转换文件单位
|
|
@param fileSize 文件大小
|
|
@return size 字符串
|
|
*/
|
|
func FormatFileSize(fileSize float64) (size string) {
|
|
units := []string{"B", "KB", "MB", "GB", "TB"}
|
|
var unitIndex int
|
|
for fileSize >= 1024 && unitIndex < len(units)-1 {
|
|
fileSize /= 1024
|
|
unitIndex++
|
|
}
|
|
return fmt.Sprintf("%.2f %s", fileSize, units[unitIndex])
|
|
}
|
|
|
|
func FillData(num int) []string {
|
|
return make([]string, num)
|
|
}
|
|
|
|
func MakeDir(filePath string) {
|
|
_, err := os.Stat(filePath)
|
|
if os.IsNotExist(err) {
|
|
err = os.MkdirAll(filePath, os.ModePerm)
|
|
if err != nil {
|
|
log.Println("创建文件夹失败:", err)
|
|
}
|
|
}
|
|
}
|
|
|
|
// DecodeToUnicode unicode中文解码
|
|
func DecodeToUnicode(name string) (string, error) {
|
|
// 使用 strconv.Unquote 解码
|
|
decodedStr, err := strconv.Unquote(`"` + name + `"`)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
return decodedStr, nil
|
|
}
|
|
|
|
func MakeSavePath(s string) string {
|
|
//wd, _ := os.Getwd()wd,
|
|
folderPath := filepath.Join("files", time.Now().Format("2006-01"), s)
|
|
if _, err := os.Stat(folderPath); os.IsNotExist(err) {
|
|
_ = os.MkdirAll(folderPath, os.ModePerm)
|
|
}
|
|
return folderPath
|
|
}
|