- 1er Componente: Componente hecho en matlab que recoge datos de sensores y los guarda en un archivo de texto.
- 2do Componente: Aplicación Web en PHP que muestra los datos recogidos del 1er componente.
- 3er Componente: Aplicación JAVA que envía el archivo de texto con los datos tomados hacia la aplicación Web.
Bien, en este momento dejaré un ejemplo de como enviar files, hacia una Web hecha en PHP, muy parecido como lo hago en el proyecto, estoy seguro que le ayudará mucho.
Para hacer el componente en JAVA me basé de algo ya hecho, y para no reinventar la rueda, sólo la modifiqué a mi estilo. La Web de la cual me base esta aquí .
Voy a explicar no con mucho detalle lo que hace este componente, pero les ayudará a entenderla.
1) Web PHP
El 1er IF, ayudará a verificar si hay conección
El 2do IF ayudará a verificar si viene un archivo
2) Proyecto JAVA
Este proyecto lo he hecho con el IDE Netbeans y tiene una estructura muy simple.
El archivo MultipartUtility es el que contiene toda la lógica (métodos y librerías) para comprobar conectividad y enviar files a una dirección
El archivo AppFileUploader es el que llama y ejecuta a MultipartUtility
3) Librerías utilizadas
Las librerías que se utilizaron son las que se muestran a continuación.
4) Los métodos de la clase MultipartUtility
verificaConectividad: responde 1 si existe conectividad con la Web en PHP y 0 si no la hay. Recibe como parámetro la ruta.
configuraEnvío: Su nombre de por si te explica que hace, recibe como parámetro el URL y la codificación. Dentro se encuentra la cabecera Content-Type suyo valor es multipart/form-data (cómo vamos a enviar los datos)
addFormField: Ayuda a agregar los encabezados (Content-Disposition) y el tipo de medio que representa el contenido del mensaje (Content-type)
addFilePart: En este método se configuran el encabezado Content-Disposition, que indica si se espera que el contenido se muestre línea en el navegador (página Web) o como un archivo adjunto. Asimismo el encabezado que indica el método que ha sido usado (Content-Transfer-Encoding), para este caso "binary".
addHeaderField: Se configura otras cabeceras, por ejemplo User-Agent para saber el tipo de aplicación, o la cabecera
Bien, sin más, les dejo el código fuente con todo el proyecto. Lo he probado localmente y con un hosting y funciona perfectamente, sólo deben configurar correctamente las rutas.
Descarguen el proyecto desde aquí.
Hasta la próxima, su amigo Carlos Z.
No hay comentarios:
Publicar un comentario