7

我正在通过 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();
    });
});
4

1 回答 1

11

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

这真的很简单。只需使用getUploadsAPI 方法。例如,您可以将点击处理程序更改为如下所示:

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

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

还有几件事:

  • 没有onLeave选择。您应该从代码中删除它。
  • multiple选项默认为真。您也可以从代码中删除它。
  • 您已经在使用 jQuery。为什么不使用 Fine Uploader jQuery 插件?有关说明,请参阅文档。
于 2013-06-20T02:35:04.877 回答