如何在javascript上传之前检查文件大小

时间:2013-11-22 04:49:56

标签: javascript php

我将此代码用于检查文件类型

// - coursesweb.net
  // get the file name and split it to separe the extension
  var name = el.value;
  var ar_name = name.split('.');

但现在我想应用此代码来获取文件大小,我该怎么办?

code from this site

4 个答案:

答案 0 :(得分:11)

You can check the filesize by files[0].size
     
    

  
     

尝试以下方法:

$('#myFile').bind('change', function() {

  //this.files[0].size gets the size of your file.
  alert(this.files[0].size);

});

答案 1 :(得分:4)

尝试此操作以获取文件大小

document.getElementById('fileid').addEventListener('change', checkFile, false);

function checkFile(e) {
    var file_list = e.target.files;
    for (var i = 0, file; file = file_list[i]; i++) {
        var fileExtension = file.name.split('.')[file.name.split('.').length - 1].toLowerCase();
        var iConvert = (file.size / 1024).toFixed(2);

        txt = "File type : " +fileExtension + "\n";
        if(file.size > (1024 * 1024)){
            txt += "Size: " + (file.size / (1024*1024)).toFixed(2) + " MB \n";
        } else {
        txt += "Size: " + (file.size / 1024).toFixed(2) + " KB \n";
        }
        alert(txt);
    }
}

fiddle

答案 2 :(得分:2)

如果浏览器支持File API

if (typeof FileReader !== "undefined") {
    var size = document.getElementById('file_input_field_id').files[0].size;
} else {
    console.log("File API is not supported");
    var size = -1;
}

如果您想在客户端使用File API获取文件大小,则需要使用flash。你可以使用像FileAPI.js这样的库来实现这个

答案 3 :(得分:1)

您可以像这样检查文件大小。

让我们说你的HTML是:

<input type="file" id="file" />

 var size = document.getElementById('file').files[0].size;