Estoy usando Uploadify para subir archivos. El problema es, tengo que informar a los usuarios de cualquier error durante el procesamiento de los archivos.

Uploadify ha onError, onComplete, y onAllComplete controlador de eventos, pero no sé cómo accionar de estos eventos para que los usuarios estén informados de lo que está pasando.

Necesito enviar cadena JSON? Hay una pista de aquí y aquí y aquí pero no pude hacer que funcione. Quizás la publicación en el foro es obsoleta.

Alguien tiene algún ejemplo que funciona para Uploadify 2.1?

InformationsquelleAutor Rosdi Kasim | 2010-01-10

3 Comentarios

  1. 2

    Esto me estaba matando, pero he encontrado una manera. En el uploadify.php el archivo que he creado a todos mis validación. La diferencia aquí es que me puse HTTP 4xx códigos para cada tipo de error.

    if (! in_array($fileParts['extension'], $typesArray)) {
        header("HTTP/1.1 405"); //any 4XX error will work
        exit();
    }

    Este lanza el «405» error uploadify.js.

    En el archivo me puse $(«#fileInput»).uploadify() he añadido el «onError» de la función.

            'onError' : function(event, ID, fileObj, errorObj) {
            var r = "<br />ERROR: ";
            switch(errorObj.info) {
            case 405:
                r += "Invalid file type.";
                break;
            case 406:
                r += "Some other error.";
                break;
            }
    
            setTimeout('$("#fileInput'+ ID + 'span.percentage").html("'+r+'");',111);
        }

    Esto obliga a que el uploadify función predeterminada de existir mientras que el tipo de extenderlo.

    Espero que esta ayuda!

    • Esta solución le permitirá poner el mensaje de error en el div que contiene la información del archivo que no se pudo. La alerta método elimina el div como si se completó y, a continuación, lanza una alerta.
  2. 4

    onError va dentro de las opciones de uploadify:

    $("#fileInput").uploadify({
      onError: function(e, q, f, o) {
        alert("ERROR: " + o.info);
      }
    });

    De la Documentación

    Una función que se activa cuando se produce un error durante el proceso de carga. El valor predeterminado del controlador de eventos se adhiere a un mensaje de error para el elemento de la cola devuelve el error y cambia el elemento de la cola de contenedor rojo.

    Cuatro argumentos que se envían a la función:

    • evento: El objeto de evento.
    • queueID: El identificador único del archivo que devuelve un error.
    • fileObj: Un objeto que contiene información sobre el archivo que se ha seleccionado.
      • nombre – El nombre del archivo
      • tamaño – El tamaño en bytes del archivo
      • campos creationdate – La fecha en que el archivo fue creado
      • modificationDate – La última fecha en que el archivo fue modificado
      • tipo – La extensión de los archivos que comienzan con un ‘.’
    • errorObj: Un objeto que contiene información sobre el error devuelto.
      • tipo – o de ‘HTTP’, ‘IO’, o ‘Seguridad’
      • info – Un mensaje de error que describe el tipo de error devuelto
    • Sí, pero necesito saber la cadena de formato que necesita el servidor para escribir por lo que uploadify sabe que hay un problema durante el procesamiento del archivo cargado. Digamos que quiero mostrar «Error en la línea 3, no válido código de distribuidor: ‘DEALER001′» para el usuario, ¿cómo puedo hacerlo?
    • el único esfuerzo/archivo de información que tiene acceso a través de uploadify aparece en mi post anterior.
    • ah.. por lo onError no está destinado a proporcionar mensaje de error personalizado a los usuarios. Que debo usar onComplete lugar.. gracias por la aclaración.
  3. 0
    onError: function (a, b, c, d) {
             if (d.status == 404)
                alert('Could not find upload script. Use a path relative to: '+'<?= getcwd() ?>');
             else if (d.type === "HTTP")
                alert('error '+d.type+": "+d.status);
             else if (d.type ==="File Size")
                alert(c.name+' '+d.type+' Limit: '+Math.round(d.sizeLimit/1024)+'KB');
             else
                alert('error '+d.type+": "+d.text);
    },

Dejar respuesta

Please enter your comment!
Please enter your name here