![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Envio de Foto a API PHP
Hola estoy tratando en mi aplicacion Android enviar varios datos a un sitio php para que escriba en una base de datos, para los campos texto ya lo logre sin embargo no he podido pasar una imagen, entendo que esta al pasarse como parametro debe ser un string para lo cual transforme la imagen en un String de la siguiente manera
y luego indico en un servicio rest lo siguiente restclient1.BaseURL := 'http://www.mipagina.com/Imagenes/icosecha.php?fecha=' + efecha + '&cantidad=' + FloatToStr(spinbox1.value) + '&imagen=' + SS.DataString; el URL lo llama bien, sin embargo no se como convertir desde la pagina php el string que le envie de la imagen para que me lo guarde en un campo blob de la base de datos. Alguien que haya tenido el mismo inconveniente Última edición por Casimiro Notevi fecha: 06-11-2018 a las 08:39:04. |
#2
|
||||
|
||||
Hola a todos,
Podrías codificar en Base64 la imagen que quieres enviar, puesto que, ya en PHP, no tendrás problemas en utilizar dicha cadena Base64, guardarla en un archivo, y, a continuación, en una base de datos. Sin embargo, una petición HTTP GET, es decir, usar la URL para enviar una cadena en Base64, puede ser algo problemático, cuando no imposible, debido a los límites que se puedan imponer a los argumentos que pueden enviarse y hasta recibirse usando la URL en una petición HTTP GET. Lo anterior quiere decir que tal vez deberías usar HTTP POST, y, haciéndolo así, intentar averiguar si puedes ir más allá y enviar, mediante HTTP POST, directamente, el archivo, no su representación en Base64. PHP no tiene problemas en recibir archivos "tal cual", a los que podrás acceder usando la variable "$_FILES" de PHP. Para hacer esto habría que ver si el componente "REST" que usas permite enviar archivos de este modo, pero, en principio, debería poder, o bien podrías sustituirlo por un "IdHttp", que, permite enviar archivos, directamente, sin pasar por Base64. |
#3
|
|||
|
|||
Ok, gracias Dec, si he visto algunos post donde usan idhttp, sin embargo me queda la duda de como hago para que el mismo insert que utilizo en la página php para ingresar los otros parámetros (como cantidad y fecha) que ya tengo, reciba e ingrese también la imágen usando el método idhttp.
|
#4
|
||||
|
||||
Hola a todos,
En principio, no es complicado, es decir, se trata de usar las variables "super globales" de PHP: $_GET, $_POST y $_FILES. Una llamada HTTP POST puede incluir datos de entrada que se encontrarán en la variable $_POST, y, también archivos, que se encontrarán en la variable $_FILES. Piensa en un formulario HTML... que permite enviar varios campos, además de archivos, en una sola llamada HTTP POST. |
#5
|
|||
|
|||
Hola Dec, he estado investigado lo que indicas y generè el siguiente código de un post que me encontre en el clubdelphi, sin embargo el URL donde requiero enviar es https, para lo cual utilizo el componente TIdSSLIOHandlerSocketOPenSSL,como lo indico en el código, pero a la hora de correrlo en mi movil me da error "Could not load SSL library", tienes alguna idea.
Última edición por Casimiro Notevi fecha: 07-11-2018 a las 20:04:43. |
#6
|
||||
|
||||
No olvides usar las etiquetas cuando pongas código.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
|||
|
|||
Hola Dec, gracias por los aportes, pero no logro leer el archivo desde la pagina de PHP.
Ya lo logre enviar desde delphi mediante el siguiente codigo, pero no logro desde php escribir el archivo en el cambo blob de la BD, podrias indicarme si algo no va bien?
Pero en PHP lo hago de la siguiete manera y cuando escribo la variable en la BD MySql, no escribe nada Código PHP:
|
#8
|
||||
|
||||
Hola a todos,
Cita:
|
#9
|
|||
|
|||
Hola
Gracias Dec, revise las variables y use el siguiente código, este si me funciono para hacer el Insert y efectivamente el archivo llega a la BD, que luego se puede desplegar. Código PHP:
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Guardar Foto | DamianG | FireMonkey | 4 | 25-03-2018 15:42:24 |
Tu foto | yusnerqui | La Taberna | 767 | 22-03-2012 05:05:21 |
poner foto en el centro de otra foto | kapullok_2006 | Gráficos | 1 | 22-10-2007 17:52:10 |
architect dvd 3.0 entre foto y foto | tulajvs | Gráficos | 2 | 06-11-2006 10:11:02 |
entre foto y foto, architect dvd 3.0 | tulajvs | Varios | 2 | 05-09-2006 15:03:48 |
![]() |
|