当前位置:首页 > 编程技术 > JavaScript > 正文内容

JS格式化文件大小 单位:Bytes、KB、MB、GB

曾经5个月前 (05-05)JavaScript158

方法一:bytes自适应转换到KB,MB,GB

 /// <summary>
 /// 格式化文件大小的JS方法
 /// </summary>
 /// <param name="filesize">文件的大小,传入的是一个bytes为单位的参数</param>
 /// <returns>格式化后的值</returns>
 function renderSize(value){
     if(null==value||value==''){
         return "0 Bytes";
     }
     var unitArr = new Array("Bytes","KB","MB","GB","TB","PB","EB","ZB","YB");
     var index=0;
     var srcsize = parseFloat(value);
     index=Math.floor(Math.log(srcsize)/Math.log(1024));
     var size =srcsize/Math.pow(1024,index);
     size=size.toFixed(2);//保留的小数位数
     return size+unitArr[index];
 }

方法二:bytes自适应转换到KB,MB,GB

 function formatFileSize(fileSize) {
     if (fileSize < 1024) {
         return fileSize + 'B';
     } else if (fileSize < (1024*1024)) {
         var temp = fileSize / 1024;
         temp = temp.toFixed(2);
         return temp + 'KB';
     } else if (fileSize < (1024*1024*1024)) {
         var temp = fileSize / (1024*1024);
         temp = temp.toFixed(2);
         return temp + 'MB';
     } else {
         var temp = fileSize / (1024*1024*1024);
         temp = temp.toFixed(2);
         return temp + 'GB';
     }
 }

方法三:可以设定输入的文件长度的参数的原始单位,自适应转换到KB,MB,GB

 /**
  * [fileLengthFormat 格式化文件大小]
  * @param  {[int]} total [文件大小]
  * @param  {[int]} n     [total参数的原始单位如果为Byte,则n设为1,如果为kb,则n设为2,如果为mb,则n设为3,以此类推]
  * @return {[string]}       [带单位的文件大小的字符串]
  */
 function fileLengthFormat(total, n) {
     var format;
     var len = total / (1024.0);
     if (len > 1000) {
         return arguments.callee(len, ++n);
     } else {
         switch (n) {
             case 1:
                 format = len.toFixed(2) + "KB";
                 break;
             case 2:
                format = len.toFixed(2) + "MB";
                 break;
             case 3:
                 format = len.toFixed(2) + "GB";
                 break;
             case 4:
                 format = len.toFixed(2) + "TB";
                 break;
         }
         return format;
     }
 }

使用方法如下

//假如文件大小为1024byte,想自适应到kb,则如下传参
 fileLengthFormat(1024,1);//"1.00KB"
 //假如文件大小为1024kb,想自适应到mb,则如下传参
 fileLengthFormat(1024,2);//"1.00MB"
 //测试
 fileLengthFormat(112233445566,1);//"104.53GB"


扫描二维码推送至手机访问。

版权声明:本文由珍惜发布,如需转载请注明出处。

本文链接:https://www.zp68.com/article/14.html

分享给朋友:
返回列表

没有更早的文章了...

下一篇:百度开源JS上传控件 Web Uploader

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。