如何检查使用Fine Uploader选择的文件数?

时间:2013-06-18 18:05:53

标签: javascript fine-uploader

我通过Fine Uploader使用手动上传。现在我想检查该文件是否已选中。

$(document).ready(function() {
    var fineuploader = new qq.FineUploader({
        element: $('#fine-uploader')[0],
        request: {
            endpoint: '<?php echo site_url('pl_items/upload_images');?>'
        },
        multiple: true,
        autoUpload: false,
        onLeave: false,
        validation: {
            allowedExtensions: ['jpeg', 'jpg', 'gif', 'png'],
            sizeLimit: 5120000 // 50 kB = 50 * 1024 bytes
        },
        text: { 
            uploadButton: '<i class="icon-plus icon-white"></i> Select Files' 
        },
        template: '<div class="qq-uploader">' +
                  '<pre class="qq-upload-drop-area"><span>{dragZoneText}</span></pre>' +
                  '<div class="qq-upload-button btn btn-danger">{uploadButtonText}</div>' +
                  '<div class="qq-drop-processing span1"><span>{dropProcessingText}</span><span class="qq-drop-processing-spinner"></span></div>' +
                  '<div><ul class="qq-upload-list"></ul></div>' +
                   '</div>',
        callbacks: {
            onComplete: function(id, name, response) {
                $('#frmDetails').append('<input type="hidden" name="pl_item_images[]" value="'+response.file_name+'">');
                //$("#frmDetails").submit();
            }
        },
    });

    $('#submit_button').click(function() {
        fineuploader.uploadStoredFiles();
    });
});

1 个答案:

答案 0 :(得分:8)

由于您没有回答我的问题,我只想假设您在点击处理程序中调用uploadStoredFiles之前确定是否已选择文件。

这真的很简单。只需使用getUploads API方法即可。例如,您可以将单击处理程序更改为:

$('#submit_button').click(function() {
    var submittedFileCount = fineuploader.getUploads({status: qq.status.SUBMITTED}).length;

    if (submittedFileCouunt > 0) {
        fineuploader.uploadStoredFiles();
    }
});

还有一些事情:

  • 没有onLeave选项。您应该从代码中删除它。
  • multiple选项默认为true。您也可以从代码中删除它。
  • 您已经在使用jQuery了。你为什么不使用Fine Uploader jQuery插件?有关说明,请参阅文档。