2013-06-18 33 views
5

我正在使用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(); 
    }); 
}); 
+0

你想去哪儿检查所选文件的数量,为什么? –

回答

7

既然你还没有回答我的问题,我就假设你要确定自己是否被选中一个文件,你在点击处理程序调用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插件?有关说明,请参阅文档。
+0

谢谢雷,这对我很有帮助! –

+0

如果这解决了您的问题,请考虑接受我的答案。 –

+0

我不是那个用户,尽管呵呵,我赞成你回答,但这就是我所能做到的嘿嘿。嘿有什么理由为什么我的“QQ”变量不会有一个.STATUS? –

相关问题