浏览代码

WebUI: improve fileSizeIEC function and make it more readable

Fixes #1974

Signed-off-by: Nicola Murino <[email protected]>
Nicola Murino 3 月之前
父节点
当前提交
8ae6e5e486
共有 1 个文件被更改,包括 11 次插入3 次删除
  1. 11 3
      templates/common/base.html

+ 11 - 3
templates/common/base.html

@@ -76,9 +76,17 @@ explicit grant from the SFTPGo Team ([email protected]).
         return div.innerHTML;
     }
 
-    function fileSizeIEC(a,b,c,d,e){
-        return (b=Math,c=b.log,d=1024,e=c(a)/c(d)|0,a/b.pow(d,e)).toFixed(1)
-            +' '+(e?'KMGTPEZY'[--e]+'iB':'Bytes')
+    function fileSizeIEC(bytes){
+        const thresh = 1024;
+        if (bytes < thresh){
+            return bytes + ' Bytes';
+        }
+
+        const units = ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
+        let i = Math.floor(Math.log(bytes) / Math.log(thresh));
+        let size = bytes / Math.pow(thresh, i);
+
+        return size.toFixed(1) + ' ' + units[i - 1];
     }
 
     function humanizeSpeed(a,b,c,d,e){