格式文件大小单位

This commit is contained in:
TsMask
2023-08-17 10:38:44 +08:00
parent 18149365ab
commit f20a8ed79b

View File

@@ -6,6 +6,7 @@ import (
"io"
"net"
"net/http"
"os"
"time"
"ems.agt/lib/dborm"
@@ -118,3 +119,54 @@ func GetFile(w http.ResponseWriter, r *http.Request) {
response := Response{mmlResult}
services.ResponseWithJson(w, http.StatusOK, response)
}
// 格式文件大小单位
func FormatFileSize(fileSize float64) (size string) {
if fileSize < 1024 {
return fmt.Sprintf("%.2fB", fileSize/float64(1))
} else if fileSize < (1024 * 1024) {
return fmt.Sprintf("%.2fKB", fileSize/float64(1024))
} else if fileSize < (1024 * 1024 * 1024) {
return fmt.Sprintf("%.2fMB", fileSize/float64(1024*1024))
} else if fileSize < (1024 * 1024 * 1024 * 1024) {
return fmt.Sprintf("%.2fGB", fileSize/float64(1024*1024*1024))
} else if fileSize < (1024 * 1024 * 1024 * 1024 * 1024) {
return fmt.Sprintf("%.2fTB", fileSize/float64(1024*1024*1024*1024))
} else {
return fmt.Sprintf("%.2fEB", fileSize/float64(1024*1024*1024*1024*1024))
}
}
func IsSymlink(mode os.FileMode) bool {
return mode&os.ModeSymlink != 0
}
const dotCharacter = 46
func IsHidden(path string) bool {
return path[0] == dotCharacter
}
func GetMimeType(path string) string {
file, err := os.Open(path)
if err != nil {
return ""
}
defer file.Close()
buffer := make([]byte, 512)
_, err = file.Read(buffer)
if err != nil {
return ""
}
mimeType := http.DetectContentType(buffer)
return mimeType
}
func GetSymlink(path string) string {
linkPath, err := os.Readlink(path)
if err != nil {
return ""
}
return linkPath
}