2009-09-16 8 views
7

Ich benutze Uploadify und etwas, das früher funktionierte, ist jetzt nicht und ich bin mir nicht sicher warum. Ich bekomme einen HTTP-Fehler, wenn ich auf Upload klicke. Wenn man in Firefox die Registerkarte "Net" betrachtet, sieht es nicht so aus, als sende es noch einmal etwas an den Server.Uploadify funktioniert nicht

Ich habe in der Fehlerfunktion versucht, setzen Debug zu helfen, aber das Statusattribut ist nicht definiert ..

$("#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; 
        }, 
      }); 

Irgendwelche Ideen?

Antwort

6

OK, herausgefunden, dass das Fehler-Debugging, das ich verwendete, alt war und dass ich errorObj.info sagen kann, um die detaillierteren Informationen darüber herauszubekommen, warum es nicht funktioniert.

Hat dies und stellt sich heraus, es ist ein 404, was bedeutet, dass das Skript, das ich versuche, zu POST wird nicht abgeholt wird, obwohl es existiert. Klingt wie ein Routing-Problem ...

Fall geschlossen!

Nur um weitere Informationen zu diesem - der 404 war als Ergebnis einer alten Standard-Login-URL in der Datei web.config.

Sobald ich dies behoben, wurde der 404 dann ein 302 (Blick auf die IIS-Protokolle) als die Website mich auf die Anmeldeseite umgeleitet wurde.

Mein Upload-Skript ist in einem authentifizierten Bereich der Website und so brauchte ich etwas zu verwenden, die

auf dieser Seite beschrieben wird

Using flash with aspnet mvc

+0

Vielen Dank für die Veröffentlichung Ihrer Follow-up. Ich hatte das gleiche Problem und war ein wenig ratlos. – digitaldreamer

2

ich einen 302 Fehler Empfang auftritt nur in Firefox/Chrome: IE8 hat gut funktioniert. Das Problem stellte sich heraus, dass Netscape nun Authentifizierungs-Cookies mit dem Postback der Datei sendete. Ich erlaubte der .ashx-Datei, die das Hochladen einer anonymen Autorisierung in der Web-Konfiguration übernommen hat, und hatte keine weiteren Probleme.

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