How to upload with Bootstrap Dialog

Asked

Viewed 286 times

4

I’m trying to adapt a script I have to upload with Bootstrap Dialog but I’m not succeeding, I wish I could use the same form that I already do some operations to maintain the development pattern, I made a modification in the code to try to solve the problem and it was like this:

    // INSERÇÃO DE DADOS - UPLOAD
    function DlgInserirUpload() {           
        var params = {
            Operacao:    'Upload',
            sObservacao: $('#sObservacao').val(),
            IdContrato:  $("input[name=IdContrato]").val(),             
            type: 'POST',
            arquivo: $("#arquivo").val(),
            mimeType:"multipart/form-data",
            contentType: false,
            cache: false,
            processData:false,  
        };  
        GravaFase(params);
    }

        // ONDE RESGATO AS VARIÁVEIS DO MEU FORMULÁRIO

        // PROCESSO INTEGRADO - INSERÇÃO, ALTERAÇÃO E DELEÇÃO
    function GravaFase(params) {
        
        console.log(params);
        
        $.post(
            'pProcessoFase.php',
            params,
            function( json, textStatus, jQxhr ){
                
                if (json.status != "ERRO") {
                    var dialogInstance = BootstrapDialog.show({
                        title: 'SUCESSO',
                        type: BootstrapDialog.TYPE_SUCCESS,
                        message: json.msg,
                        closable: false,
                        buttons: [
                            {
                                label: 'Fechar',
                                cssClass: 'btn-success',
                                action: function(dialogRef){
                                    dialogRef.close();
                                    // location.reload();
                                        
                                    var IdContrato = json.par;                              
                                    
                                    // console.log(aba);    
                                    // console.log(IdContrato);                                 
                                    
                                    $("#resultado-fase").load('pListaFaseContrato.php',{IdContrato:IdContrato});
                                     // LIMPANDO CAMPOS DO FORMULÁRIO
                                      $("#IdTipoFase").val(0);
                                      $("#dData").val("");
                                      $("#dHora").val("");  
                                      $("#sDescricao").val("");                                                                   
                                      
                                    $("#resultado-upload").load('pListaUpload.php',{IdContrato:IdContrato});
                                     // LIMPANDO CAMPOS DO FORMULÁRIO
                                      $("#sObservacao").val(0);
                                      $("#arquivo").val("");    
                                                                            
                                    $("#resultado-obrigatoria").load('pListaFaseObrigatoria.php',{IdContrato:IdContrato});
                                     // LIMPANDO CAMPOS DO FORMULÁRIO
                                      $("#IdTipoFase1").val(0);
                                      $("#iOrdem").val(0);                                  
                                }
                            }
                        ]   
                    }); 
                } else {                                                        
                    var dialogInstance = BootstrapDialog.show({
                        title: 'ERRO',
                        type: BootstrapDialog.TYPE_DANGER,
                        message: json.msg,
                        closable: false,
                        buttons: [
                            {
                                label: 'Fechar',
                                cssClass: 'btn-danger',
                                action: function(dialogRef){
                                dialogRef.close();                                  
                                }
                            }
                        ]                                       
                    }); 
                }
            },
            'json'
        )
        .fail(function( jqXhr, textStatus, errorThrown ){
            
            try {
                var json = $.parseJSON(jqXHR.responseText);
                var dialogInstance = BootstrapDialog.show({
                    title: 'ERRO',
                    type: BootstrapDialog.TYPE_DANGER,
                    message: json.msg
                }); 
            } catch(e) { 
                var dialogInstance = BootstrapDialog.show({
                    title: 'ERRO',
                    type: BootstrapDialog.TYPE_DANGER,
                    message: json.msg
                }); 
            }
        });
    }

In my console appears this result:

IdContrato: "34"
Operacao: "Upload"
arquivo: "C:\fakepath\Chrysanthemum.jpg"
cache: false
contentType: false
mimeType: "multipart/form-data"
processData: false
sObservacao: "swewewew"
type: "POST"

""""

And on the server side I try to rescue like this:

    // DIRETÓRIO
    $diretorio = 'upload/'; 
    
    if (!empty($_FILES)) {
        $ArquivoTemporario = $_FILES['arquivo']['tmp_name'];
        $NomeArquivo = $_FILES['arquivo']['name'];  
        $CaminhoAnexo = dirname(__FILE__) . '/' . $diretorio;
        $targetFile = rtrim($CaminhoAnexo,'/') . '/' . $_FILES['arquivo']['name'];
        $TipoArquivo = strtolower(pathinfo($NomeArquivo, PATHINFO_EXTENSION));
        
        $Caminho = $diretorio; 
        
        // Validate the file type
        $fileTypes = array('jpg','jpeg','gif','png','pdf','doc','docx','xls','xlsx'); // File extensions
        $fileParts = pathinfo($_FILES['arquivo']['name']);
        
        if (in_array($fileParts['extension'],$fileTypes)) {
            move_uploaded_file($ArquivoTemporario,$targetFile);
        } else {
            $aretorno["msg"] = "Ocorreu um erro na inclusão dos dados:";
            $aretorno["status"] = "ERRO";
        }
    }
  • Any suggestions on what to do in this case? I read some things about formData but no attempt I made resulted in any success.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.