PETICIONES AJAX BLOQUEAN EL ARCHIVO DE CONTROL

Tengo una duda sobre unas peticiones AJAX que estoy haciendo, tengo una web de votos, resulta que debes dar clic en el botón 1 o botón 2, al dar clic aparecen otros dos botones con información diferente para seguir votando de la misma manera. Cuando ya he votado unas 13 o 14 veces, por consola me muestra el error de la imagen que pondré más abajo, como si ya no existiese el archivo de control. Mi duda es, ¿Qué puedo hacer para solventar este problema o existe algún método para controlar estas peticiones? Enserio les agradezco mucho la ayuda. =)

[!] ERROR SCREENSHOT

error img


[!] REQUEST CODE

function SendVote(idNum1, idNum2, idNum3){         idNum1 = encodeURIComponent(idNum1.trim());         idNum2 = encodeURIComponent(idNum2.trim());         idNum3 = encodeURIComponent(idNum3.trim());         // Comprobar existen         if (idNum1 != '' && idNum2 != '' && idNum3 != '' && idNum1 != idNum2 && idNum1 == idNum3 || idNum2 == idNum3) {              $  .ajax({                 url: 'controlar/control.php', //IMG URL IN BLUE.                 type: 'POST',                 data: 'idNum1='+idNum1+'&idNum2='+idNum2+'&idNum3='+idNum3+'&accion=Votar',                 beforeSend: function(){                     DisbleVotes();                 }             }).done(function(resp){                 var quiteb = JSON.parse(resp);                 var status = quiteb.status;                 if (status == 'error') {                     var mensaje = quiteb.mensaje;                     console.log(mensaje);                 } else {                     LoadVotes();                     EnableVotes();                 }             });         } } 

Como generar un archivo php a partir de un formulario de otro archivo php

quisiera saber como puedo hacer lo siguiente: Estoy hice un Blog de un juego, se como hacer un CMS con PHP y MySQL, también se mostrar el contenido de la base de datos en un archivo, ejemplo blog.com/blogs?page=2 y por el ID mostrar el contenido en donde quiero mostrarlo, pero como podría hacer para que en el formulario pueda asignar el nombre del archivo, el contenido de el y crear un nuevo archivo php, algo como blog.com/blogs/pagina2, así podría salir la búsqueda en Google tal como hacen todos los foros o blogs, para ser mas claros, alguien acá hace una pregunta, el link sería algo como https://stackoverflow.com/questions/1022607/como-crear-un-archivo-php-desde-php

Como hacer una condicion con ciertas reglas en el archivo .htaccess

Necesito crear algunas reglas en al archivo .htaccess para que se den ciertas condiciones. Por ejemplo, quiero mostrar el archivo 404.shtml (ErrorDocument 404 /404.shtml) sólo en el caso en donde la URL generada tenga la extensión .html o .php (cuando este mal escrita claro o no la encuentre en mi sitio), en los otros casos no (que es cuando la página se comporta como SPA).

Al ser SPA (single-page application), trabaja siempre sobre la misma página y aquí no necesito que se vea el archivo 404.shtml. Entonces tengo lo siguiente y que ya está funcionando:

RewriteCond %{REQUEST_FILENAME} !-s RewriteCond %{REQUEST_FILENAME} !-l Rewritecond %{REQUEST_FILENAME} !-d RewriteRule ^.*$   index.php [NC,L] 

Ahora quiero el caso contrario cuando no está en la página de tipo SPA. Necesitaría alguna regla para que se vea la página 404.shtml, cuando ya son las otras páginas internas y que siempre llevan la extensión .html o .php.

Sólo a modo de ejemplo, sería algo así:

IF (la pagina es SPA){     RewriteCond %{REQUEST_FILENAME} !-s     RewriteCond %{REQUEST_FILENAME} !-l     Rewritecond %{REQUEST_FILENAME} !-d     RewriteRule ^.*$   index.php [NC,L] } else {     ErrorDocument 404 /GloMovil/404.shtml } 

En definitiva, necesito que, si la URL está dentro de las manejadas por el SPA, se redirija a la SPA y en otro caso se redirija a una página 404.shtml

¿Se puede hacer algo parecido a esto desde el archivo .htaccess?

Se puede generar un archivo de excel con PDFs incrustados sin la librería Interop

Estoy generando un archivo de excel en el cual se almacenan archivos PDF para que independientemente de donde se abra el excel, se puedan visualizar los PDF, mi primer intento fue con la libreria Excel.Interop, en un ambiente web(ASP.Net), *se instaló Excel en el servidor *se dio permisos desde MMC- 32 en la aplicación de excel *se agrego un usuario administrador para ejecutar excel en el server *se dio permisos de lectura y escritura al usuario IIS_user ahora, se que Microsoft no recomienda instalar office en un servidor, pero es algo que se requiere. Cuando publico el codigo me aparece el siguiente error:

System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC at Microsoft.Office.Interop.Excel._Workbook.SaveAs(Object Filename, Object FileFormat, Object Password, Object WriteResPassword, Object ReadOnlyRecommended, Object CreateBackup, XlSaveAsAccessMode AccessMode, Object ConflictResolution, Object AddToMru, Object TextCodepage, Object TextVisualLayout, Object Local) at WebApplication4.Default.Page_Load(Object sender, EventArgs e) in *************************Default.aspx.cs:line 74 

ahora, e visto muchos que dicen de librerías alternativas, pero no he visto la función que necesito para incrustar el pdf en el excel, este es el codigo que manejo hasta ahora

Microsoft.Office.Interop.Excel.Application xlApp;     Microsoft.Office.Interop.Excel.Workbook xlWorkBook;     Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;      protected void Page_Load(object sender, EventArgs e)     {          xlApp = new Microsoft.Office.Interop.Excel.Application();         int contador = 12;         try         {             xlWorkBook = xlApp.Workbooks.Add(true);             xlWorkBook = xlApp.Workbooks.Open(@"*************************************\example.xlsx", 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);              xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets[1];              int i = 680;             int j = 160;              int contadorArchivos = 1;              foreach (string f in Directory.GetFiles(@"**********************************"))              {                  contador = contador + 1;                  xlApp.get_Range("A1" + contador + ", Z" + contador + "").RowHeight = 60;                 if (f.Contains("\2.pdf"))                 {                      Response.Write(f + "</br>");                      j = j + 60;                      contadorArchivos + ".pdf", Link: false, DisplayAsIcon: true, IconFileName: "pdf", IconIndex: 1, IconLabel: contadorArchivos.ToString(), Left: i, Top: j, Width: 150, Height: 150);                     xlWorkSheet.Shapes.AddOLEObject(Filename: @"******************************\2.pdf", Link: false, DisplayAsIcon: true, IconFileName: "pdf", IconIndex: 1, IconLabel: contadorArchivos.ToString(), Left: i, Top: j, Width: 150, Height: 150);                 }                  contadorArchivos = contadorArchivos + 1;              }  Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);             Missing m = Missing.Value;             xlWorkBook.SaveAs(@"****************************\test.xlsx", m, m, m, m, m, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, m, m, m);              xlWorkBook.Close();             xlWorkBook = null;             xlApp.Application.Quit();             xlApp.Quit();              if (xlWorkBook != null)             {                  xlApp.Workbooks[1].Close(false);                 xlApp.Quit();                 EliminaReferencias(xlApp);             }              Response.Write("listo!!");          }         catch (Exception ex)         {              Response.Write("error"+"</br>"+ex.ToString());              if (xlWorkBook != null)             {                  xlApp.Workbooks[1].Close(false);                 xlApp.Quit();                 EliminaReferencias(xlApp );             }           }           finally         {          }     } 

Alguien tiene una librería que contenga esta función que no sea interop, y que pueda incrustar un pdf en un excel

Como generar un thumbnail de un archivo de texto con pillow

Se pueden generar miniaturas de archivo de texto como un .docx o un .txt pero en forma de miniatura de contenido es decir algo asi:

introducir la descripción de la imagen aquí

Como pueden ver la miniatura queda como una version pequeña de la primera hoja del documento a diferencia de un arhcivo .docx que utiliza un icono,

He estado buscando alternativas para hacer esto y encontré 2 paquetes thumbnail-master , thumbnail-041 pero no funcionan correctamente al menos no para mi caso.

Después encontré que se puede generar una miniatura de imágenes con pillow pero es posible hacer tambien para archivos de texto.

El codigo es este:

from PIL import Image import glob, os  size = 128, 128  for infile in glob.glob("*.jpg"):     file, ext = os.path.splitext(infile)     im = Image.open(infile)     im.thumbnail(size)     im.save(file + ".thumbnail", "JPEG") 

Jasper report no encuentra el archivo en Netbeans

tengo este error: java.io.FileNotFoundException: report_ASISTENCIA.jrxml (El sistema no puede encontrar el archivo especificado)

no se porque no encuentra el archivo luego de ejecutar este codigo:

try { JasperReport reporte=JasperCompileManager.compileReport(“report_ASISTENCIA.jrxml”); // JasperReport reporte=JasperCompileManager.compileReport(“reporteasistencia_alumnos.jrxml”); JasperPrint print=JasperFillManager.fillReport(reporte,null,this.cn); JasperViewer.viewReport(print);

    } catch (Exception e) {         System.out.print(e.getMessage());     } 

¿Cómo copiar un archivo con PHP7?

Estoy realizando una página web. Entre sus funciones, está la de subir imágenes con un título y su descripción para guardarlas en una base de datos y luego se llama para se mostrada en un slider de bootstrap. Puedo subir el archivo a la base de datos, posteriormente lo único que debo hacer es copiar la ruta y llamar al archivo desde MySQl.

El problema con lo último mencionado, es que aunque el archivo se suba, no se copia a la carpeta que necesito (en este caso, la carpeta imagenes). ¿Cómo puedo hacer que el archivo sea copiado a esa carpeta y seguir con la función de subir el nombre y extensión a la base de datos.

<?php  //Se inicia la conexión a la base de datos. include('conexion.php');  //Se inician las funciones. include('funciones.php');  //Si existen datos, hacer... if (isset($  _POST['imagen_slider']) && isset($  _POST['titulo_carrusel']) && isset($  _POST['descripcion_slider']) && isset($  _POST['subir_slide'])) {      //Se reciben los datos y se guardan en variables.     $  ruta=$  _POST['imagen_slider'];     $  titulo=$  _POST['titulo_carrusel'];     $  descripcion=$  _POST['descripcion_slider'];      //Se crea una nueva instancia.     $  slider=new subirFotos();      //Se envía la variable de conexión a la función de validación del ID.     $  slider->validarID($  mysqli);     $  slider->registrarSlide($  id, $  ruta, $  titulo, $  descripcion);  }  ?> 

Esta es la clase que estoy usando. Más concretamente, lo que menciono es la función copiarArchivo():

<?php  /**   * Clase que toma las nuevas fotos para el slider */ class subirFotos {      public  $  id=0; public $  resultado="No.";  public function validarID($  mysqli){      //Se consigue el valor máximo del ID.     $  consultar_id=$  mysqli->query("SELECT id_slider FROM slider WHERE id_slider=(SELECT MAX(id_slider) FROM slider)");      //Se crea y recorre el arreglo.     while ($  i=mysqli_fetch_array($  consultar_id)) {          $  this->id=$  i['id_slider']+1;      }  }  public function copiarArchivo($  ruta) {     $  directorio = '../imagenes/'; //Declaramos un  variable con la ruta donde guardaremos los archivos      if (!file_exists($  directorio)) {//Si no existe la ruta, se creará.          mkdir($  directorio);//Se creó la carpeta.      }      $  resultado=@move_uploaded_file($  ruta, $  directorio);      if ($  resultado) {          echo "Hola.";      }else{          echo "Error al subir esto: ". $  directorio . $  ruta;      }  }  public function registrarSlide($  ruta, $  titulo, $  descripcion, $  mysqli) {     $  registrarSlide=$  mysqli->query("INSERT INTO slider(id_slider, nombre_slider, titulo_slider, descripcion_slider) VALUES ('$  this->id', '$  ruta', '$  titulo', '$  descripcion')");//Se ingresan los datos.      //Se valida que la subida se haya concretado de forma correcta.     if ($  registrarSlide) {          //Si se subieron los datos, se envía a la página principal de modificación.         header('location: ./');      }  }  ?> 

No se me presenta ningún error visible. Simplemente, la condicional que comprueba que $ resultado se haya realizado, lo toma como nulo y al comprobar la carpeta, la imagen no se copió.

¿Como enviar un archivo desde Java y recibir en PHP?

Mi problema es que trato de cargar un archivo (una imagen jpg) desde una aplicación Java hacia un script PHP cuya función es recibir y luego enviar el archivo a mi Storage en Firebase. Pero no recibo correctamente el archivo en mi script php. Porque nunca este se envia al storage Firebase. Siendo sincero primera vez que envió un archivo desde Java a PHP y estoy algo confundido.

Mi código de carga en Java

public void upload(File file) throws Exception {         // open a connection to the site and         // prepare it for sending multipart data         URL url = new URL("https://mandaos2019.000webhostapp.com/CONECTOR.php");         URLConnection con = url.openConnection();         // create a boundary - must not be contained in the content!         String boundary = (UUID.randomUUID().toString() + UUID.randomUUID()             .toString()).substring(0, 65);         con.setRequestProperty("Content-Type", "multipart/form-data; "             + "boundary=\"" + boundary + "\"");         con.setDoOutput(true);         con.setUseCaches(false);         // use a BufferedOutputStream for performance reasons         BufferedOutputStream bos =             new BufferedOutputStream(con.getOutputStream());         // use a PrintStream to easily write strings to the output stream         PrintStream ps = new PrintStream(bos, false, "UTF-8");         ps.println("--" + boundary);         ps.println("Content-Disposition: form-data; name=\"param\"");         ps.println();         ps.println("123456");         // [...] send other parameters         ps.flush();         // send the file(s)         DataOutputStream dos = new DataOutputStream(ps);         ps.println("--" + boundary);         ps.println("Content-Disposition: form-data; "             + "name=\"test\"; filename=\"test.zip\"");         ps.println("Content-Type: application/zip");         ps.println();         ps.flush();         FileInputStream fis = new FileInputStream(file);         byte[] buffer = new byte[0xFFFF];         int bytesRead;         while ((bytesRead = fis.read(buffer)) != -1) {             dos.write(buffer, 0, bytesRead);         }         dos.flush();         // close the multipart message         ps.println();         ps.println("--" + boundary + "--");         // this flushes and closes all streams         dos.close();          System.out.println(con);      } 

Este código debería ser capaz de enviar el archivo e información sobre este.

El código con que recibo y envió el archivo al Storage:

<?php use Kreait\Firebase;  $  fire = new firebas();      if(is_uploaded_file($  _FILES['userfile']['tmp_name'])) {         echo  "File ".  $  _FILES['userfile']['name']  ." uploaded successfully to" ;          $  fire->upload($  _FILES['userfile']['tmp_name']);      //move_uploaded_file ($  _FILES['userfile'] ['tmp_name'], "$  uploads_dir/$  dest");     } else {         echo "Possible file upload attack: ";         echo "filename '". $  _FILES['userfile']['tmp_name'] . "'.";         print_r($  _FILES);     }  class firebas{     private $  serviceAccount;     private $  firebase;     private $  key= 'bfe462a7ee727b46cef5a377fe0dc52ee895b5d9';     private $  bucket;      function __construct(){         $  this->serviceAccount = ServiceAccount::fromJsonFile(__DIR__  .  '/json_firebase/credencial.json');         $  this->firebase = (new Factory)             ->withServiceAccount($  this->serviceAccount,$  this->key)             ->withDefaultStorageBucket('prueba-medidor-tiempo.appspot.com')             ->create();          $  storage = $  this->firebase->getStorage();         $  this->bucket = $  storage->getBucket();     }      public function upload($  file){         $  this->bucket->upload(         file_get_contents($  file['imageToUpload']['tmp_name']),         [             'cap' => $  file         ]         );     }   } 

Gracias y disculpen mi ignorancia.

¿Cómo descargar archivo KML en Java?

Este es el codigo que implemento para descargar el archivo desde un servidor remoto, si encuentra el archivo pero pareciera que viene vacio.

public InputStream mostrar(String downLoadPath,String host,String user,String pw,String file) {         //System.out.println(downLoadPath);         JSch jsch = new JSch();         Session session = null;         InputStream kml = null;         try {             session = jsch.getSession(user,host , 22);             session.setConfig("StrictHostKeyChecking", "no");                         session.setPassword(pw);             session.connect();             Channel channel = session.openChannel("sftp");             channel.connect();             ChannelSftp sftpChannel = (ChannelSftp) channel;                kml = sftpChannel.get(downLoadPath);           } catch (Exception e) {             e.printStackTrace();         }         return kml;     } 

Aquí es donde lo mando al jsp pero cuando lo recibe manda un null. No se que estoy haciendo mal o si por ser un KML tenga que hacer alguna otra cosa.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  if(tipo.isEmpty()) {                 String vacio = "null";                 response.getWriter().write(vacio);             }else if(!tipo.isEmpty()){                 if(tipo == "gsm") {                     file = "file.kml";                     FileReader f = new FileReader(mostrar(ruta_server,host,servUser,pw,file));                     BufferedReader b = new BufferedReader(f);                     while((cadena = b.readLine())!=null) {                       System.out.println(cadena);                       response.getWriter().write(cadena);                     }                     b.close();                 }             } }