使用AjaxUpload Codeigniter上传时如何计算所选文件的数量?

时间:2021-11-15 23:02:11

I want to count how many files selected for upload, right now it shows one file name instead of it want to show how many files selected to upload.

我想计算选择上传的文件数量,现在它显示一个文件名而不是它想要显示选择上传的文件数。

I am uploading files using AjaxUpload in Codegniter.

我在Codegniter中使用AjaxUpload上传文件。

JS Code:

$(function () {
    var inputFile = $('input#file');
    var uploadURI = $('#form-upload').attr('action');
$('#upload-btn').on('click', function(event) {
        var filesToUpload = inputFile[0].files;
if (filesToUpload.length > 0) {
for (var i = 0; i < filesToUpload.length; i++) {
                var file = filesToUpload[i];
                formData.append("file[]", file, file.name);             
            }

$.ajax({
                url: uploadURI,
                type: 'post',
                data: formData,
                processData: false,
                contentType: false,
                success: function(data) {
                    console.log(data);
                    listFilesOnServer();
                },
                xhr: function() {
                    var xhr = new XMLHttpRequest();
                    xhr.upload.addEventListener("progress", function(event) {
                        if (event.lengthComputable) {
                            var percentComplete = Math.round( (event.loaded / event.total) * 100 );
                            $('.progress').show();
                            progressBar.css({width: percentComplete + "%"});
                            progressBar.text(percentComplete + '%');
                        };
                    }, false);

                    return xhr;
                }
            });

1 个解决方案

#1


0  

Try this code:

试试这段代码:

var inputFile = $('#form-upload input:file');
var uploadURI = $('#form-upload').attr('action');
$('#upload-btn').on('click', function(event) {
    for (i=0; i<inputFile.length; ++i) {
      if (inputFile[i].value != ""){
       filesToUpload[i] = inputFile[i].files;
       filesToUpload[i]["name"] = inputFile[i].value;
      }
    }
    /* ... */

#1


0  

Try this code:

试试这段代码:

var inputFile = $('#form-upload input:file');
var uploadURI = $('#form-upload').attr('action');
$('#upload-btn').on('click', function(event) {
    for (i=0; i<inputFile.length; ++i) {
      if (inputFile[i].value != ""){
       filesToUpload[i] = inputFile[i].files;
       filesToUpload[i]["name"] = inputFile[i].value;
      }
    }
    /* ... */