События 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.
Проведя всестороннее тестирование, я увидел, что:
Если скрипт, который принимает загруженные файлы (указанный в загрузке, инициализирует код как
'script': '/Album/Manage/'
) ничего не возвращает, события ответа Uploadify не запускаются - я понимаю, что ошибка останавливает его обработку. Мой сценарий был действием в контроллере, тип возвращаемого значения - строка. Если произошла ошибка, она вернула ошибку в виде строки, иначе ничего не вернулась. Все, что я сделал, чтобы исправить это, заставило его вернуться "ОК", если ничего не пошло не так, как ничего.Передача данных скрипта (указывается при загрузке, инициализируется как
'scriptData': {'album_id':'7'}
) то, как я это делал, ТАКЖЕ вызывало ошибку - я так и не понял, почему (и RonnieSan, отец Uploadify, похоже, не видел в этом ничего плохого), так что если кто-то знает, может быть, они могут ответить на этот постВы НЕ ДОЛЖНЫ помещать одинарные кавычки вокруг обработчиков событий, например
onComplete: function(event, queueID, fileObj, response, data) { ... }
Надеюсь, это поможет - если кому-то понадобится помощь в реализации.Net MVC, просто напишите мне.
Я также использую uploadify в приложении.NET MVC. И я точно знаю, что вы имеете в виду. Все, что я сделал, чтобы решить вашу проблему, это заставил действие моего контроллера возвращать ответ JSON, и я мог проанализировать его обратно по событию onComplete. Единственный раз, когда у меня возникла проблема с событиями, был фактический файл отсутствует (так как я отображаю эскизы изображения) в ответе.
Для тех, кто использует Mac, используйте HTTP Scoop для просмотра запроса, поскольку Firebug не показывает его. Больше на HTTP Scoop из этого блога.
Я получил свой ответ отсюда..! http://www.uploadify.com/forums/discussion/187/when-upload-complete-how-to-return-uploaded-files-name/p1
а также