| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- ob_start(); // Limpia el buffer por errores de salida
- // Permite un mayor tiempo de respuesta del socket
- ini_set('memory_limit', '-1');
- $strModulo = $_POST['idModulo'];
- if(empty($strModulo)){
- $strModulo = 'ERR';
- }
- // Variables de respuesta
- $estatus = 'EXITO';
- $errorDescripcion = '';
- $datosRecibidos = array();
- if($_SERVER["REQUEST_METHOD"] == "POST") {
- // Variables Recibidas
- $accion = $_POST['accion'];
- // Acciones Válidas
- $arrAccionesValidas = array('descargarArchivo');
- if(in_array($accion, $arrAccionesValidas)){
- switch ($accion){
- case 'descargarArchivo':
- $ruta = $_POST['ruta'];
- if(!empty($ruta)){
- $nombreArchivo = 'archivo.pdf';
- $archivoParaDescargar = base64_decode($ruta);
- if(file_exists($archivoParaDescargar)){
- $arrDatosRuta = explode('/', $archivoParaDescargar);
- $nombreArchivo = array_pop($arrDatosRuta);
- $rData = file_get_contents($archivoParaDescargar);
- $data = base64_encode($rData);
- $type = 'data:application/octet-stream;base64,';
- // Enviamos los datos de respuesta
- $jsonResponse = array(
- 'fileName' => $nombreArchivo,
- 'data' => $data,
- 'type' => $type
- );
- echo json_encode($jsonResponse);
- exit;
- }else{
- $estatus = 'ERROR';
- $errorDescripcion = 'SPS003 (' . $strModulo . ') - El archivo solicitado no existe.';
- goto fin;
- }
- }else{
- $estatus = 'ERROR';
- $errorDescripcion = 'SPS003 (' . $strModulo . ') - Ocurrió un problema al descargar el archivo.';
- goto fin;
- }
- break;
- }
- }else{
- $estatus = 'ERROR';
- $errorDescripcion = 'SPS001 (' . $strModulo . ') - La acción solicitada no es válida.';
- goto fin;
- }
- }else{
- $estatus = 'ERROR';
- $errorDescripcion = 'SPS002 (' . $strModulo . ') - Ocurrió un error al procesar la petición.';
- goto fin;
- }
- fin :
- $jsonResponse = array(
- 'estatus' => $estatus,
- 'errorDescripcion' => $errorDescripcion,
- 'datosRecibidos' => $datosRecibidos
- );
- echo json_encode($jsonResponse);
|