在Javascript中将字节转换为KB/MB

12

我想将目前以字节为单位的文件大小转换为MB格式。

以下是我的代码:

var x = document.getElementById("file");
var txt = "";
var totalSize = 0;

if ('files' in x) {
    if (x.files.length == 0) {
        txt = "Select one or more files.";
    } else {
        for (var i = 0; i < x.files.length; i++) {
            txt += "<br><strong>" + (i+1) + ". file</strong><br>";
            var file = x.files[i];
            if ('name' in file) {
                txt += "name: " + file.name + "<br>";
            }
            if ('size' in file) {
                totalSize += file.size;
                txt += "size: " + file.size + " bytes <br>";
            }
        }
    }
}
document.getElementById ("displayTotalSize").innerHTML = totalSize;
document.getElementById ("displaySize").innerHTML = txt;

输出结果为

document.getElementById ("displayTotalSize").innerHTML = totalSize;

以字节为单位正确传输:

3145981

现在我希望将其转换为MB。

请帮帮我。


(totalSize/1048576).toFixed(1) + 'MB' = 取自 MDN Web Docs - heakinakai
1个回答

38

您需要通过1024^2来将totalSize除以以MB为单位,对于KB,您需要用1024^1,而对于GB,则应通过1024^4进行除法。

var totalSizeKB = totalsize / Math.pow(1024,1)
var totalSizeMB = totalsize / Math.pow(1024,2)
var totalSizeGB = totalsize / Math.pow(1024,3)

这将会给你 3.000241279602051MB 的容量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接