package util
import (
"fmt"
)
func FormatFilesize(bytes int64) string {
var unit string
var value float64
if bytes >= 1024*1024*1024*1024 {
unit = "TiB"
value = float64(bytes) / (1024 * 1024 * 1024 * 1024)
} else if bytes >= 1024*1024*1024 {
unit = "GiB"
value = float64(bytes) / (1024 * 1024 * 1024)
} else if bytes >= 1024*1024 {
unit = "MiB"
value = float64(bytes) / (1024 * 1024)
} else if bytes >= 1024 {
unit = "KiB"
value = float64(bytes) / (1024)
} else {
unit = "B"
value = float64(bytes)
}
return fmt.Sprintf("%.1f %s", value, unit)
func FormatFilesize2(bytes int64) string {
if bytes == 0 { // this is what gorm returns for NULL
return "Unknown"
return FormatFilesize(bytes)