2009-09-09 12 views
9

Używam uploadify (www.uploadify.com) do przesyłania zdjęć do mojej witryny i działa to pięknie, dopóki nie spróbujesz trochę rozszerzyć. Próbuję go pobrać, aby usunąć z listy kolejkowy plik po przesłaniu tego pliku. Aby to zrobić, należy zainicjować Uploadify jako takie:Zdarzenia onComplete i onCompleteAll nie uruchamiają się podczas używania 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); 
      } 
     }); 

W powyższym przykładzie, można by zastąpić alert(queueID) z $("#fileUpload").uploadifyCancel(queueID) - Mam tylko wpisu do daj mi znać, gdy Zdarzenie - który nigdy nie zdarza. Użyłem IE i Firefoxa i żadnej różnicy w żadnym z nich. Czy ktokolwiek ma z tym jakieś doświadczenie?

Odpowiedz

26

ROZWIĄZANE!

Prawo, wnoszę to jedyna artykule na całym internecie (w tym dokumentacji Uploadify i stronach pomocy technicznej), który opisuje dziwactw Uploadify w aplikacji .NET MVC

Uczyniwszy szczegółowe testy widziałem, że:

  1. Jeśli skrypt, który akceptuje Przesłany pliki (określone w kodzie Uploadify zainicjowanie jak 'script': '/Album/Manage/') nie zwraca niczego, imprezy Uploadify reagowania nie ogień - wnoszę, że sto błąd ps przetwarzanie. Mój skrypt był akcją w kontrolerze, którego typem powrotu był ciąg. Jeśli wystąpił błąd, zwrócił błąd jako ciąg znaków, w przeciwnym razie nic nie zwrócił. Wszystko, co zrobiłem, aby to naprawić, sprawiło, że zwrócił "OK", jeśli nic nie poszło nie tak, jak nic.

  2. Uboczny dane Script (określonym w Uploadify zainicjować jako 'scriptData': {'album_id':'7'}) sposób, w jaki robi to również było przyczyną błędu - I miałaś wypracowane dlaczego (i RonnieSan, ojciec Uploadify, nie wydaje się zobaczyć nic złego it), więc jeśli ktoś wie, może może odpowiedzieć na ten post

  3. NIE MUSISZ umieszczać pojedynczych cudzysłowów wokół procedur obsługi zdarzeń, np. onComplete: function(event, queueID, fileObj, response, data) { ... }

Nadzieja to pomaga - jeśli ktoś potrzebuje pomocy przy realizacji MVC, po prostu napisz do mnie wiadomość.

+2

Ill dodać kolejny warunek tutaj. jakikolwiek przycisk użyty jako przycisk wysyłania musi mieć identyfikator w inny sposób, gdy przesyłanie się rozpocznie, żadne zdarzenia nie zostaną zwolnione. – schmidty

+0

Dzięki za opublikowanie tego, naprawdę pomogło! – Victor

+0

Tak się cieszę, że znalazłem to - 'onComplete' nie uruchamia się, chyba że zwrócisz coś, cokolwiek, po prostu nie pusty dokument! – Jeriko

2

Używam również uploadify w aplikacji .NET MVC. I dokładnie wiem o co ci chodzi. Wszystko, co zrobiłem, aby naprawić twój problem, spowodowało, że akcja kontrolera zwróciła odpowiedź JSON i mógłbym przeanalizować ją w zdarzeniu onComplete. Jedyny przypadek, w którym miałem problem ze zdarzeniami, polegał na tym, że brakowało rzeczywistego pliku (tak jak wyświetlam miniatury obrazu) w odpowiedzi.

0

Dla tych, którzy używają komputerów Mac, użyj HTTP Scoop, aby wyświetlić żądanie, ponieważ Firebug tego nie pokazuje. Więcej informacji na temat HTTP Scoop z this blog.

Powiązane problemy