2009-09-16 6 views
7

Używam Uploadify i coś, co wcześniej działało teraz, nie jest i nie jestem pewien dlaczego. Otrzymuję błąd HTTP zwracany za każdym razem, gdy kliknę opcję przesyłania. Oglądając zakładkę Net w Firefoksie, wygląda na to, że nie wysyła niczego na serwer.Uploadify nie działa

Próbowałem oddanie w funkcji błędu, aby pomóc debugowania, ale atrybut stan jest niezdefiniowana ..

$("#fileInput").uploadify({ 
       'uploader': '/scripts/upload/uploadify.swf', 
       'script': '/Member/UploadImages/PerformUpload', 
       'cancelImg': '/scripts/upload/cancel.png',  
       'multi': true, 
       'simUploadLimit': 1, 
       'fileDesc': "Images", 
       'fileExt': "*.jpg;*. jpeg;*.bmp;*.png", 
       'sizeLimit': 3000000, 
       'onAllComplete':showFinishedLink, 
       'onError': function (event, queueID ,fileObj, errorObj) { 
        var msg; 
        if (errorObj.status == 404) { 
         alert('Could not find upload script. Use a path relative to: '+'<?= getcwd() ?>'); 
         msg = 'Could not find upload script.'; 
        } else if (errorObj.type === "HTTP") 
         msg = errorObj.type+": "+errorObj.status; 
        else if (errorObj.type ==="File Size") 
         msg = fileObj.name+'<br>'+errorObj.type+' Limit: '+Math.round(errorObj.sizeLimit/1024)+'KB'; 
        else 
         msg = errorObj.type+": "+errorObj.text; 
        alert(msg); 
        $("#fileUpload" + queueID).fadeOut(250, function() { $("#fileUpload" + queueID).remove()}); 
        return false; 
        }, 
      }); 

pomysłów?

Odpowiedz

6

OK, zorientowałem się, że debugowanie błędów, z którego korzystałem, było stare i że mogę powiedzieć errorObj.info, aby uzyskać bardziej szczegółowe informacje o tym, dlaczego to nie działa.

Zrobiłem to i okazało się, że to 404, co oznacza, że ​​skrypt, który próbuję POST, nie jest odbierany, mimo że istnieje. Brzmi jak problem z routingiem ...

Sprawa zamknięta!

Wystarczy dodać więcej informacji na ten temat - 404 był wynikiem starego domyślnego adresu URL logowania w pliku web.config.

Kiedy to naprawiłem, 404 następnie stał się 302 (patrząc na logi IIS), ponieważ strona przekierowywała mnie na stronę logowania.

Mój skrypt wysyłania jest uwierzytelnionym obszarze miejscu i tak potrzebne do korzystania z czegoś, co jest opisane w tym miejscu

Using flash with aspnet mvc

+0

Dziękujemy za wysłanie wiadomości. Miałem ten sam problem i byłem trochę zaskoczony. – digitaldreamer

2

ja otrzymywał 302 błąd występujący tylko w Firefox/Chrome: IE8 działało dobrze. Problem polegał na tym, że Netscape teraz wysyłał ciasteczka z auth z odesłaniem do pliku. Pozwoliłem, aby plik .ashx, który obsługiwał wysyłanie anonimowej autoryzacji w konfiguracji sieci, nie miał żadnych dalszych problemów.

<location path="UploadifyUploadHandler.ashx"> 
    <system.web> 
    <authorization> 
     <allow users="?"/> 
    </authorization> 
    </system.web> 
</location>