Início > Desenvolvimento > Ajax File Upload

Ajax File Upload

Para usar esse recurso da prototype, o botão no observer deve chamar a seguinte função js:

<script>
this.uploadFile = function () {

        var button = $('upload_button');
        var nome = $('nome_arquivo');

        new AjaxUpload(button, {
            action: getLocationRequest('caminho/Execute.php?action=ClasseControl'),
            data:{'status':'2'},
            name:'curriculo_file',
            onSubmit: function(file , ext) {

                if (! (ext && /^(doc|pdf|docx)$/.test(ext))){
                    alert('Somente documentos DOC ou PDF!');
                    return false;
                }

                button.update('Enviando...');
                this.disable();

            },
            onComplete: function(file, response) {
                button.update(" (editar)");
                nome.update(response)
            }
        });

    }
</script>

Após, é importante que a classe control contenha o método que fará o upload no php, segue o exemplo:

<?

function onUpload(){
        uploaddir = '/opt/lampp/htdocs/Qualificacao/Credenciamento/files/';

        $uploadfile = $uploaddir . $_FILES['curriculo_file']['name'];

        if(file_exists($uploadfile))
        {
            unlink($uploadfile);
        }

        if (move_uploaded_file($_FILES['curriculo_file']['tmp_name'], $uploadfile)) {
            $curriculo = new CurriculoView();
            $curriculo->onEditViewLink();
        } else {
          echo "error";
        }
}
?>
  1. Ainda sem comentários.
  1. No trackbacks yet.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: