Question

J'utilise Uploadify et quelque chose qui fonctionnait auparavant ne l’est plus et je ne sais pas pourquoi. Une erreur HTTP est renvoyée chaque fois que je clique sur Télécharger. En regardant l'onglet Internet dans Firefox, il ne semble même pas que cela envoie encore quelque chose au serveur.

J'ai essayé d'introduire la fonction d'erreur pour aider au débogage, mais l'attribut status est indéfini.

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

Des idées?

Était-ce utile?

La solution

OK, j'ai découvert que le débogage des erreurs que j'utilisais était ancien et que je peux dire à errorObj.info de fournir des informations plus détaillées sur les raisons pour lesquelles cela ne fonctionne pas.

Fait ceci et s’avère que c’est un 404, ce qui signifie que le script que je tente de poster n’a pas été repris même s’il existe. Cela ressemble à un problème de routage ...

Affaire classée!

Juste pour ajouter plus d’informations à ce sujet - la 404 résultait d’une ancienne URL de connexion par défaut dans le fichier web.config.

Une fois que j'ai résolu ce problème, le 404 est devenu un 302 (en regardant les journaux IIS) car le site me redirigeait vers la page de connexion.

Mon script de téléchargement se trouve dans une zone authentifiée du site. J'avais donc besoin d'utiliser quelque chose décrit dans ce site

Utiliser clignoter avec aspnet mvc

Autres conseils

Je recevais une erreur 302 se produisant uniquement dans Firefox / Chrome: IE8 fonctionnait correctement. Le problème s'est avéré que Netscape envoyait maintenant des cookies d'authentification avec sa publication de fichier. J'ai autorisé le fichier .ashx qui gérait le téléchargement à obtenir une autorisation anonyme dans la configuration Web, sans autre problème.

<location path="UploadifyUploadHandler.ashx">
  <system.web>
    <authorization>
      <allow users="?"/>
    </authorization>
  </system.web>
</location>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top