Add a new feature of limitSize.

This commit is contained in:
zicla
2017-12-29 18:44:10 +08:00
parent 0720ae5ed6
commit 68c7da1f58
7 changed files with 93 additions and 17 deletions

36
rest/util_string.go Normal file
View File

@ -0,0 +1,36 @@
package rest
import (
"fmt"
"strconv"
)
//把一个大小转变成方便读的格式
//human readable file size
func HumanFileSize(bytes int64, si bool) string {
var thresh int64 = 1000
if si {
thresh = 1024
}
if bytes < 0 {
bytes = 0
}
if bytes < thresh {
return fmt.Sprintf("%dB", bytes)
}
var units = []string{"kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"}
if si {
units = []string{"KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"}
}
var u = 0
var tmp = float64(bytes)
var standard = float64(thresh)
for tmp >= standard && u < len(units)-1 {
tmp /= float64(standard)
u++
}
numStr := strconv.FormatFloat(tmp, 'f', 1, 64)
return fmt.Sprintf("%s%s", numStr, units[u])
}