Pergunta

estou usando Carregar Para fazer upload de arquivos. O problema é que preciso informar os usuários sobre qualquer erro durante o processamento desses arquivos.

Uploadify tem onError, onComplete, e onAllComplete Manipulador de eventos, mas não sei como acionar esses eventos para que os usuários sejam informados do que está acontecendo.

Eu preciso enviar string json? Há uma pista aqui e aqui e aqui Mas eu não conseguia funcionar. Talvez a postagem no fórum esteja desatualizada.

Alguém tem algum exemplo que funcione para o upload de 2.1?

Foi útil?

Solução

Isso estava me matando, mas eu encontrei um caminho. No arquivo uploadify.php, criei toda a minha validação. A diferença aqui é que eu defino códigos HTTP 4xx para cada tipo de erro.

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

Isso lança o erro "405" de volta para o upload.js.

No arquivo que eu defino $ ("#FileInput"). UPLOPIFY () Adicionei a função "OnError".

        '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);
    }

Isso força a função padrão do upload a existir enquanto estende -a.

Espero que isso ajude!

Outras dicas

onError vai dentro das opções de carregamento:

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

De Documentação

Uma função que aciona quando ocorre um erro durante o processo de upload. O manipulador de eventos padrão anexa uma mensagem de erro ao item da fila retornando o erro e altera seu contêiner de item de fila para vermelho.

Quatro argumentos são enviados para a função:

  • evento: O objeto de evento.
  • Queueid: O identificador exclusivo do arquivo que retornou um erro.
  • FileObj: Um objeto que contém detalhes sobre o arquivo que foi selecionado.
    • nome - O nome do arquivo
    • Tamanho - O tamanho em bytes do arquivo
    • data de criação - a data em que o arquivo foi criado
    • modificação de data - A última data em que o arquivo foi modificado
    • modelo - A extensão do arquivo começando com um '.'
  • ErrorObj: Um objeto que contém detalhes sobre o erro retornado.
    • modelo - ou 'http', 'io' ou 'segurança'
    • Info - Uma mensagem de erro descrevendo o tipo de erro retornado
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);
},
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top