Search code examples
fine-uploader

"Could not find the file list container in the template" error


I am getting message "Could not find the file list container in the template" appearing in my Javascript debug console when using fine uploader.

Here is a jsfiddle example of the problem occurring. http://jsfiddle.net/Lu82ba9L/1/

The code from the example is repeated here

<!-- using fine uploader 5.1.3 at http://keysymmetrics.com/jsfiddle/jquery.fine-uploader.js -->
$(document).ready(function () {
    $("#fine-uploader").fineUploader({
        debug: true,
        template: 'qq-template-bootstrap',
        request: {
            endpoint: "/my-endpoint"
        }
    });
});
<script type="text/template" id="qq-template-bootstrap" class="qq-uploader-selector">
    <div class="row">
        <div class="col-sm-4" >
            <div class="qq-upload-button-selector qq-upload-drop-area-selector drag-drop-area">
                <div>Drag and drop files here or click to upload</div>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-sm-4" >
            <div class="qq-upload-list-selector" >
                <div class="panel panel-default" >
                    <div class="panel-body" >
                        <div class="qq-progress-bar-container-selector progress">
                            <div class="qq-progress-bar-selector progress-bar"></div>
                        </div>
                        <span class="qq-upload-spinner-selector qq-upload-spinner"></span>
                        <span class="qq-upload-file-selector qq-upload-file"></span>
                        <span class="qq-upload-size-selector qq-upload-size"></span>
                        <span class="qq-upload-status-text-selector qq-upload-status-text"></span>
                        <img class="qq-thumbnail-selector" qq-max-size="100" />
                    </div><!-- close panel-body -->
                </div><!-- close panel -->
            </div>
        </div>
    </div>       
</script>


<h1>Fine Uploader Test</h1>
<div id="fine-uploader"></div>

Just for additional information that may be helpful, I have a working version here. http://jsfiddle.net/61motjed/2/ .In this version here I have moved the "div.qq-upload-list-selector" element to a different position in the DOM (however, this is not the DOM structure I want). It is also unclear to me why the first example fails but the 2nd example is working.


Solution

  • Your template is not valid. The template must contain a top-level element with a CSS class of "qq-uploader-selector". This element must contain all other elements in your template. Simply wrapping the contents of your template in an element with this class should fix your issue.