Получить количество загружаемых файлов

Я использую загрузчик jquery из здесь, и я хотел бы знать, как мне получить общее количество файлов было добавлено и не загружено.

Специальной документации по новой версии нет, поэтому кто-нибудь может сказать мне, как мне это сделать?

Так как мне нужно пройти этот путь "uploading 1 of n files"

Здесь в документации говорится:

$('#fileupload').bind('fileuploadadded', function (e, data) {
  //Here I need to get the upload count.
 });

И если я, как показано ниже, это дает мне счет как 1

var totalfiles = data.files.length; 
alert(totalfiles);

person coder    schedule 07.04.2012    source источник


Ответы (3)


В соответствии с документацией есть событие под названием «fileuploadadd», которое будет срабатывать каждый раз, когда файл будет добавлен в очередь, поэтому вы можете создать счетчик и увеличивать его при вызове события.

var filestoupload =0;     
$('#fileupload').bind('fileuploadadd', function (e, data) {
      filestoupload++;
     });
person lgomezma    schedule 07.04.2012
comment
@lgomezma-Спасибо за это. Я сделал то же самое, но продолжал внутри один и тот же цикл, поэтому он всегда занимал 1. - person coder; 07.04.2012

Получить количество загружаемых файлов перед загрузкой.

  $('#fileupload').fileupload({
        ...
        change: function (e, data) {
            var idx=0;
            $.each(data.files, function (index, file) {
                idx++;
            });
            alert(idx);
        }
        ...
   });
person AcatnhiS    schedule 23.10.2014

Я использую этот способ для подсчета загруженных файлов и общего файла в файле загрузки jquery

var uploadedFileCount = 0;
var totalFileCount = 0;
$("#fileupload").fileupload({
   dataType: 'json',
   url: url,
   autoUpload: true,
   done: function (e, data) {
        //Some code
        uploadedFileCount = uploadedFileCount + 1;
      $("#UploadCount").html(uploadedFileCount + " of" + totalFileCount);
    }
  }).on('fileuploadadd', function (e, data) {
        totalFileCount = totalFileCount + 1;
    });
person angela.mirjalili    schedule 06.02.2017