Spanish Necesito ayuda subir imágenes desde B4A a un servidor con webservice php

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Me explico un poco mejor.

Estoy haciendo pruebas para intentar que en el dispositivo Android me vayan firmando las entregas de mercancía que voy haciendo y dichas firmas las voy guardando en el en una base de datos con sqllite y campo blob.

El problema lo tengo cuando dichas firmas las quiero "subir" al servidor en el cual tengo un wamp instalado.

Hasta ahora, mediante llamadas a un .php voy insertando registros nuevos en el servidor u obteniendo datos con formato json, siempre y cuando hablemos de campos "normales" (fechas, cadenas, numeros). El problema lo tengo al transmitir las fotos.

¿Alguna idea de como podría hacerlo de la manera más sencilla posible, aprovechando el wamp que ya tengo instalado y no teniendo que instalar cosas nuevas en el servidor?

En el servidor puedo tener corriendo tanto Firebird como SQLServer
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Gabino

Una forma facil seria haciendo un UploadFile, con FTP, es bastante simple, inicializas el FTP con la dirección, puerto, contraseña, etc de donde lo quieres enviar y con el UploadFile lo envias.
Tienes dos eventos para saber si se envio correcto, el nombre del fichero que has enviado, etc, son estos dos:

FTP_UploadCompleted (ServerPath As String, Success As Boolean)

FTP_UploadProgress (ServerPath As String, TotalUploaded As Long, Total As Long)


La libreria es la Net.

Saludos
 

Gabino A. de la Gala

Active Member
Licensed User
Longtime User
Muchas gracias por tu respuesta.

El Ftp era una opción que había valorado, pero intentando simplificar la parte del servidor, router, etc, al final me decidí hacerlo todo mediante php y al final lo he conseguido.

El principal problema lo he tenido al hacer el base64_decode en el php, ya que por lo visto, el envío que se hace desde la aplicación android, cambia '+' por ' ', con lo cual, al hacer el decode para meterlo en la base de datos, la imagen estaba corrupta.
 

JAVIERGARCIA

Member
Licensed User
Longtime User
Hola,
me ayudáis un poco?, gracias.
..Yo con todo esto, imposible.
Mira:

FTP.UploadFile(File.DirRootExternal, "1.jpg", True, "/public_html/FOTOS-NGI/ '" & IDNUMJP & "'")

intento subir (con dichos códigos) una imagen, a la cual además la renombro según una variable; bien. Bueno, de hecho incluso sin renombrar solo y a modo de prueba.
El caso es que cuando, una vez ha subido al servidor, quiero volver a bajarla por otro lado, siempre me dice que imagen no válida.
El download lo miro con photoshop para ver que fallo ahí, y mira la captura.
Claro que no es válida la imagen, pero por qué?; si dicho archivo ha subido correctamente? (bueno, en principio, claro).

Sacando una pantalla del ftp, los archivos me suben con las apóstrofes; aunque si después las quito en local, sigo teniendo el mismo problema.

muchas gracias
 

Attachments

  • Captura.PNG
    Captura.PNG
    7.2 KB · Views: 453
  • Captura1.PNG
    Captura1.PNG
    7.9 KB · Views: 317
Last edited:

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Javier

FTP.UploadFile(File.DirRootExternal, "1.jpg", True, "/public_html/FOTOS-NGI/ '" & IDNUMJP & "'")

Le estas diciendo que es un fichero ASCII poniendolo a True, pásalo a False y te subirá bien el fichero. Un fichero .jpg al igual que cualquiera de imagen, no se puede subir como un fichero ASCII. Al decirle que es ASCII le está añadiendo caracteres de final de linea que no sabe interpretar los visores de imagenes.

B4X:
FTP.UploadFile(File.DirRootExternal, "1.jpg", False, "/public_html/FOTOS-NGI/ '" & IDNUMJP & "'")



Saludos
 
Last edited:

JAVIERGARCIA

Member
Licensed User
Longtime User
Muchísimas gracias caballero.
Te debo un almuerzo.

Si ya me comentas como copón poder bajar (que no lo logro; estudio, pero nada) la resolución de una imagen; esto es: si la cámara me hace una foto a 10 megas o lo que fuera, bajar esta a 300 400 k´s (algo pequeñito), ya es que es que ese almuerzo se convierte en cocido maragato.

Gracias
 

Attachments

  • imagen-slide-6.jpg
    imagen-slide-6.jpg
    68 KB · Views: 255

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Javier

Me alegro que se solucionara.

En todo caso abre un nuevo post, ya que el hilo de tu nueva pregunta no tendria nada que ver con este, y asi de paso se enterará mas gente de como bajar resolución.

Saludos
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Gabino:

Parece que el problema está solucionado, podrias cambiar la cabecera y añadirle [SOLUCIONADO] , asi hacemos que el foro sea mas ágil.

Gracias

Saludos
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Javier

JoanRPM te ha dado una solución a tu nuevo post, yo te he dado una solución mas completa desde hacer la foto, cambiar calidad, resolución, etc, a enviarla, creo que me he ganado ese cocido maragato :D, bueno va, te acepto un Like ;)


Saludos
 
Top