获取文件大小(mb或kb)

时间:2015-11-04 20:13:37

标签: javascript jquery html

如果值为>我想以MB为单位获取文件的大小如果< 1024或KB 1024

$(document).ready(function() {
    $('input[type="file"]').change(function(event) {
        var _size = this.files[0].size + 'mb';
        alert(_size);
    });
});

<input type="file">

2 个答案:

答案 0 :(得分:15)

请在下面找到更新的代码。请参阅工作示例here,干杯!

$(document).ready(function() {
    $('input[type="file"]').change(function(event) {
        var _size = this.files[0].size;
        var fSExt = new Array('Bytes', 'KB', 'MB', 'GB'),
        i=0;while(_size>900){_size/=1024;i++;}
        var exactSize = (Math.round(_size*100)/100)+' '+fSExt[i];
        alert(exactSize);
    });
});

答案 1 :(得分:1)

.size 返回的文件大小是1024的字节数是0.102MB。但无论如何:

$(document).ready(function() {
   $('input[type="file"]').change(function(event) {
      var totalBytes = this.files[0].size;
      if(totalBytes < 1000000){
         var _size = Math.floor(totalBytes/1000) + 'KB';
          alert(_size);
      }else{
         var _size = Math.floor(totalBytes/1000000) + 'MB';  
         alert(_size);
      }
  });
 });

请记住我写的不检查基本情况,这意味着如果文件小于1000字节,那么你将获得0KB(即使它是435bytes)。此外,如果您的文件大小为GB,那么它只会提醒2300MB。此外,我摆脱了小数,所以如果你想要2.3MB的东西,那么不要使用Floor。