Wednesday, 10 July 2019

Dropzone.js and dropbox API

I am implementing in my system dropzone.js to upload files to the server or to dropbox depending on the size of the file.

And i also use sweet alerts for notifications.

When the file is uploaded to my server dropzone works correctly but when it is uploaded to dropbox does not return any results

HTML:

<form id="cuadro" action="" class="dropzone">

</form>
<p id="texto_carga" style="color: #009688; display:none">Espera mientras se procesa el archivo...</p> 

JS:

<script type="text/javascript">
     var errors = false;
     var Dropzone = new Dropzone("#cuadro", {
     url: "../utilidades/pruebasupload.php?id=<?=$personaId?>&codigo=<?=$codigo?>",
     acceptedFiles: ".EDF,.edf,.pdf,.PDF,.rar,.RAR,.jpg,.png,.gif",
     maxFiles: 1,
     error:function(){
       errors = true;
     },
     processing:function(){ 
        $('#texto_carga').show();
     },
     complete:function(){
        if(errors){
          swal({
             title: 'Error al cargar el achivo!',
             text: 'Ha ocurrido un error al intentar cargar el archivo. Póngase en contacto con el administrador del sistema',
             type: 'error',
             icon: 'error'
          });
          $('#texto_carga').hide();
        }else{
          swal({
             title: 'Carga completa!',
             text: 'Hemos cargado el archivo de la prueba exitosamente',
             type: 'success',
             icon: 'success'
          });  
          $('#texto_carga').hide();
        }
      }
   });
</script>

PHP pruebasupload.php

require_once "../terceros/dropbox/vendor/autoload.php";
require_once '../clases/servidor_archivos_controller.php';
require_once '../clases/conexion.php';

use Kunnu\Dropbox\Dropbox;
use Kunnu\Dropbox\DropboxApp;
use Kunnu\Dropbox\DropboxFile;

$conexion = new conexion;
$_servidor = new servidorArchivos;

$data = $_servidor->buscarConexion();
$dropboxKey = "";
$dropboxSecret = "";
$acessToken = "";
$appName= "";
$megas = "";

if(empty($data)){
    $megas = 200000;
}else{
    $dropboxKey = $data[0]['Keyapp'];
    $dropboxSecret = $data[0]['Secret'];
    $acessToken = $data[0]['Token'];
    $appName= $data[0]['Appname'];
    $megas = $data[0]['Megas'];
    $megas = ($megas * 1024) * 1024 ;
}
 
 
 
 
if($tama[0]>$megas){
    try{
     //upload file to dropbox
     $file = $dropbox->simpleUpload($tempFile,$nombredropbox, ['autorename' => true]);  
     //share a file
     $response = $dropbox->postToAPI("/sharing/create_shared_link_with_settings", ["path" => $nombredropbox, "settings" => ['requested_visibility' => 'public']]);
    $data = $response->getDecodedBody();
    $link = $data['url'];
    //save link to document in to DB
    $query = "insert into pruebas_archivos (Codigo,Archivo,Ubicacion)values('$savecodge','$nombredropbox','2')";
                $datos=  $conexion->NonQuery($query); 
                http_response_code(200);
             }catch(\EXCEPTION $e){
                ERROR('001',$E);
                http_response_code(400);
             }
        }else{
            $targetPath = "../public/pruebas/";  
            $targetFile =  $targetPath.$id ."_". $nombreCompleto;  //5
            move_uploaded_file($tempFile,$targetFile);
            //save the url into DB
            $query = "insert into pruebas_archivos (Codigo,Archivo,Ubicacion)values('$savecodge','$nombreCompleto','1')";
            $conexion->NonQuery($query); 
            http_response_code(200); 
      
        }
}        
        
    function error($numero,$texto){
    $ddf = fopen('error.log','a');
    fwrite($ddf,"[".date("r")."] Error $numero: $texto\r\n");
    fclose($ddf);
  }


from Dropzone.js and dropbox API

No comments:

Post a Comment