elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Json] Agregar archivos al envio, es posible ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Json] Agregar archivos al envio, es posible ?  (Leído 2,013 veces)
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
[Json] Agregar archivos al envio, es posible ?
« en: 11 Octubre 2018, 23:52 pm »

Buenas Foro...

Estoy haciendo un API en PHP, empece mandando informacion de mi Web a mi API sin problema alguno haciendo algo asi:

Código
  1. <?
  2. $data= array(
  3. "id_usuario"=>"123456789aa",
  4. "fecha_registro"=>"561651198897", # formato linux
  5. "mail"=>"sucorreo@gmail.com"
  6. );
  7.  
  8. $curl= curl_init(); # inciamos url
  9. curl_setopt($curl, CURLOPT_URL, "https://api.miweb.com/index.php" );
  10. curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30 );
  11. curl_setopt($curl, CURLOPT_TIMEOUT, 30 );
  12. curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
  13. curl_setopt( $curl, CURLOPT_CUSTOMREQUEST, "POST" );
  14. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE );
  15. curl_setopt($curl, CURLOPT_HEADER, 1 );
  16. curl_setopt( $curl, CURLOPT_POST, 1 );
  17. curl_setopt( $curl, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json' ) );
  18. curl_setopt( $curl, CURLOPT_POSTFIELDS, json_encode($data) );
  19. $r= curl_exec($curl);
  20. curl_close($curl);
  21.  
  22. echo "<br><br>Respuesta: ";
  23. ?>
  24.  
Hasta este punto, mando la informacion a mi API y la guarda, y como resultado me retorna la informacion de confirmacion, pero ahora quiero poder mandar archivos, ya sea una imagen, un archivo de documento, etc... pero me topo con que del lado de mi API el archivo no lleva, nose si sera una restriccion del servidor, pero quiero PRIMERO disipar si es que estoy haciendo mas el envio de datos.

El proceso para mandar el archivo, es el mismo codigo que les mencione arribr, excepto que al array le agrego esto:

Código
  1. # nuevo array
  2. $data= array(
  3. "id_usuario"=>"123456789aa",
  4. "fecha_registro"=>"561651198897", # formato linux
  5. "mail"=>"sucorreo@gmail.com",
  6. "imagen"=>urlencode(base64_encode("/path/delusuario/imagenes/laimagen.jpp"))
  7. );

Mi WebService se queda petado... vaya, no es que se trabe, simplemente cuando le embebo al "request" json la imagen, el servidor no me response ninguna respuesta, es mas, hasta he borrado el codigo en el API para solo y unicamente mandar como respuesta un "HOLA", y nada... en cambio si quito la "imagen", si me responde el "HOLA".

Sera que mando mal la imagen ?

Saludos !


En línea

EdePC
Moderador Global
***
Conectado Conectado

Mensajes: 2.176



Ver Perfil
Re: [Json] Agregar archivos al envio, es posible ?
« Respuesta #1 en: 12 Octubre 2018, 02:32 am »

Saludos,

- Deberías de revisar los Logs para ver que sucede.

- No incluyas el caracter barra ( / ) al inicio de una URL a no ser que se trate de una URL absoluta, "/path/delusuario/imagenes/laimagen.jpp", se es una ruta relativa quita la primera barra: "path/delusuario/imagenes/laimagen.jpp", además veo que dice: laimagen.jpp en lugar de laimagen.jpg, espero que sea un error en el ejemplo  :xD

-- Linux entiende la / como el Root Directory


En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: [Json] Agregar archivos al envio, es posible ?
« Respuesta #2 en: 12 Octubre 2018, 19:14 pm »

Fue un error del ejemplo al escribirlo aqui...

La ruta la he probado poniendola como comentas, y da el mismo detalle... Del lado del CLIENTE verifico y me consta que la imagen es leida por "file_get_contents()", es colocada en el "array" y jsoneada para despues ser enviada por el socket. Pero del lado del Server no puedo recibir la imagen, vaya, por alguna razon que no sale en los Logs de apache puedo constatar que sea error de alguna linea de codigo del lado del servidor api :(

Ahorita lo "resolvi" mandando la URL (http://webcliente.com/tmp/laimagentemporalsubida.jpg), y del lado del Servidor API la bajo haciendo "file_get_contents()" a la URL... Pero no es lo mas optimo...

Saludos !
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Envio de archivos... « 1 2 »
Scripting
nhaalclkiemr 10 6,936 Último mensaje 11 Junio 2007, 22:46 pm
por nhaalclkiemr
Unir archivos y agregar el nombre de archivos a cada linea por MS-DOS
Scripting
cialem 4 6,220 Último mensaje 18 Julio 2012, 16:13 pm
por cialem
posible cadena tipo JSON?
Bases de Datos
Anteros 2 2,983 Último mensaje 24 Agosto 2013, 17:26 pm
por Anteros
[WPF] Agregar referencia desde un recurso del mismo proyecto, es posible?
.NET (C#, VB.NET, ASP)
z3nth10n 1 3,407 Último mensaje 22 Abril 2014, 21:39 pm
por Eleкtro
en el envio de paquetes UDP es posible que se use conmutacion de circuitos?
Redes
MRx86 2 2,393 Último mensaje 28 Mayo 2017, 21:43 pm
por MRx86
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines