События onComplete и onCompleteAll не запускаются при использовании Uploadify

Я использовал uploadify (www.uploadify.com) для загрузки изображений на мой веб-сайт, и он прекрасно работает, пока вы не попытаетесь немного расширить его. Я пытаюсь получить его, чтобы удалить файл из очереди, как только этот файл был загружен. Для этого вы должны инициализировать uploadify так:

            $("#fileUpload").uploadify({
            'uploader': '/scripts/uploadify.swf',
            'cancelImg': '/images/cancel.png',
            'script': '/Album/Manage/',
            'fileDesc': 'Image Files',
            'fileExt': '*.jpg;*.jpeg;*.gif;*.png',
            'multi': true,
            'auto': false,
            'simUploadLimit': 3,
            'scriptData': {'album_id':'7'},
            onComplete: function(event, queueID, fileObj, response, data){
                alert(queueID); 
            }
        });

В приведенном выше примере вы бы заменить alert(queueID) с $("#fileUpload").uploadifyCancel(queueID) - У меня просто есть предупреждение, чтобы сообщить мне, когда событие происходит - что никогда не происходит. Я использовал IE и Firefox, и никакой разницы нет ни в одном. У кого-нибудь есть опыт с этим?

4 ответа

ПОСТАНОВИЛИ!

Правильно, я понимаю, что это единственная статья во всем Интернете (включая документацию Uploadify и страницы поддержки), которая описывает причуды Uploadify в приложении.Net MVC.

Проведя всестороннее тестирование, я увидел, что:

  1. Если скрипт, который принимает загруженные файлы (указанный в загрузке, инициализирует код как 'script': '/Album/Manage/') ничего не возвращает, события ответа Uploadify не запускаются - я понимаю, что ошибка останавливает его обработку. Мой сценарий был действием в контроллере, тип возвращаемого значения - строка. Если произошла ошибка, она вернула ошибку в виде строки, иначе ничего не вернулась. Все, что я сделал, чтобы исправить это, заставило его вернуться "ОК", если ничего не пошло не так, как ничего.

  2. Передача данных скрипта (указывается при загрузке, инициализируется как 'scriptData': {'album_id':'7'}) то, как я это делал, ТАКЖЕ вызывало ошибку - я так и не понял, почему (и RonnieSan, отец Uploadify, похоже, не видел в этом ничего плохого), так что если кто-то знает, может быть, они могут ответить на этот пост

  3. Вы НЕ ДОЛЖНЫ помещать одинарные кавычки вокруг обработчиков событий, например onComplete: function(event, queueID, fileObj, response, data) { ... }

Надеюсь, это поможет - если кому-то понадобится помощь в реализации.Net MVC, просто напишите мне.

Я также использую uploadify в приложении.NET MVC. И я точно знаю, что вы имеете в виду. Все, что я сделал, чтобы решить вашу проблему, это заставил действие моего контроллера возвращать ответ JSON, и я мог проанализировать его обратно по событию onComplete. Единственный раз, когда у меня возникла проблема с событиями, был фактический файл отсутствует (так как я отображаю эскизы изображения) в ответе.

Для тех, кто использует Mac, используйте HTTP Scoop для просмотра запроса, поскольку Firebug не показывает его. Больше на HTTP Scoop из этого блога.

Другие вопросы по тегам