2014-01-06 2 views
3

я позволяю выбрать файлы пользователей, а затем пытается программно загружать их после того, как они нажимают на кнопку загрузки с помощью jquery fileupload сценарияполучаю ошибку при попытке использовать JQuery FileUpload

HTML, выглядит следующим образом:

<input name="my_image[]" id="my_file" type="file" multiple="multiple"> 

вызов JQuery выглядит следующим образом:

$('#start-upload').click(function(e) { 

    var filesList = $('#my_file')[0].files; 
    //var filesList = $('#my_file').prop("files"); 

    var url = 'photos/index.php'; 
    $('#my_file').fileupload('send', { 
     files: filesList, 
     url: url, 
     dataType: 'json', 
     start: function(e, data) { 
      console.log("Upload started"); 
     }, 
     done: function (e, data) { 
      console.log("Upload complete"); 
     } 
    }); 
}); 

Это ошибка, я получаю:

Uncaught Error: cannot call methods on fileupload prior to initialization; attempted to call method 'send' 

Любая идея, что я делаю?

+4

ошибка сообщение кажется довольно понятны для меня. [Первый раздел на странице, на которую вы ссылаетесь] (https://github.com/blueimp/jQuery-File-Upload/wiki/API#initialization) показывает, как инициализировать плагин. – gilly3

+0

Мне не хватает очевидного ... – Paul

+0

Я думаю, вы должны инициализировать файловую загрузку только с помощью объекта JS в качестве аргумента, прежде чем вы сможете вызвать другие методы (например, 'send' в этом случае). Ссылка gilly3, представленная, показывает пример того, как ее правильно инициализировать. – stex

ответ

3

Он не был инициализирован. Убедитесь, что вы сначала должны что-то вроде:

$(document).ready(function(){ 
    $('#my_file').fileupload({ url: 'your_url' ...}); 
}); 

Приветствиях

+0

Он не работает для меня, он запускает загрузку, как только файлы будут выбраны. –

0

Чтобы расширить ответ Эдгара, это, как я установить вещи программно представить:

//Initialize 
$('#file').fileupload({ 
    url: 'someUrl' 
}); 

//Trigger the submit 

$('#file').fileupload({ 
    fileInput: $('#file') 
}); 
Смежные вопросы