如何在控制台日志中检索数据长度

时间:2019-03-08 08:11:30

标签: javascript html

如何获取文件中的数据长度?我需要数据长度以使警报最大化文件

console log

我想通过将警报添加到以下代码来限制图像文件的最大上传量

警报为警报(“您已达到最大上传限制”);因此,当我将一张上传图片添加到指定的数量限制时,会出现警报

我想单击一次上传后获得数据长度,但是数据长度始终为0,为什么?

html

<div class="files col-sm-4" id="files1">
                    <input type="file" name="files1" id="imageten" multiple />
                    <br />Selected files:
                    <ol class="fileList"></ol>
                </div>

脚本

$.fn.fileUploader = function (filesToUpload) {
    this.closest(".files").change(function (evt) {

        for (var i = 0; i < evt.target.files.length; i++) {
            filesToUpload.push(evt.target.files[i]);
        };
        var output = [];

        for (var i = 0, f; f = evt.target.files[i]; i++) {
            var removeLink = "<i class=\"fa fa-times fa-close removeFile\" href=\"#\" data-fileid=\"" + i + "\"></i>";
            output.push("<li><strong>", escape(f.name), "</strong> ", removeLink, " </li> ");
        }


        $(this).children(".fileList").append(output.join(""));
        console.log(evt.target.files);
    });
};

var filesToUpload = [];

$(document).on("click",".removeFile", function(e){
    e.preventDefault();
    var fileName = $(this).parent().children("strong").text();
    for(i = 0; i < filesToUpload.length; ++ i){
        if(filesToUpload[i].name == fileName){
            filesToUpload.splice(i, 1);
            console.log(filesToUpload);
        }
    }
    $(this).parent().remove();
});

2 个答案:

答案 0 :(得分:1)

您的代码中没有名为data的变量。我不了解您要返回0的位置。但是,如果我的猜测是正确的,请在$(document).on("click",".removeFile", function(e){

内添加此行
$(this).children(".fileList").append(output.join(""));
console.log(evt.target.files);

alert(evt.target.files.length); // add this line

答案 1 :(得分:0)

$("#fileinput")[0].files.length将提供文件数。

if($("#fileinput")[0].files.length > 2) {
  alert("You can select only 2 files");
}

让我知道这是否有帮助。

How to limit the maximum files chosen when using multiple file input-在stackoverflow上已经有类似的问题。