Pregunta

Estoy usando Uploadify y algo que anteriormente funcionaba ahora no funciona y no estoy seguro de por qué. Me devuelve un error HTTP cada vez que hago clic en cargar. Al mirar la pestaña de red en Firefox, no parece que esté enviando nada al servidor nuevamente.

He intentado poner la función de error para ayudar a depurar pero el atributo de estado no está definido ...

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

¿Alguna idea?

¿Fue útil?

Solución

OK, descubrí que la depuración de errores que estaba usando era antigua y que puedo decir errorObj.info para obtener información más detallada sobre por qué no funciona.

Hice esto y resulta que es un 404, lo que significa que el script en el que intento PUBLICAR no se está recogiendo a pesar de que existe. Suena como un problema de enrutamiento ...

¡Caso cerrado!

Solo para agregar más información sobre esto: el 404 fue el resultado de una antigua URL de inicio de sesión predeterminada en el archivo web.config.

Una vez que solucioné esto, el 404 se convirtió en un 302 (mirando los registros de IIS) mientras el sitio me redirigía a la página de inicio de sesión.

Mi script de carga está en un área autenticada del sitio y, por lo tanto, necesitaba usar algo que se describe en este sitio

Uso flash con aspnet mvc

Otros consejos

Estaba recibiendo un error 302 que ocurría solo en Firefox / Chrome: IE8 funcionó bien. El problema resultó ser que Netscape ahora estaba enviando cookies de autenticación con su devolución de archivos. Permití al archivo .ashx que manejaba la carga una autorización anónima en la configuración web, y no tuve más problemas.

<location path="UploadifyUploadHandler.ashx">
  <system.web>
    <authorization>
      <allow users="?"/>
    </authorization>
  </system.web>
</location>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top