Autor Tema: Web Service Foto Persona  (Leído 82 veces)

0 Usuarios y 1 Visitante están viendo este tema.

lujan_marcos

  • Newbie
  • *
  • Mensajes: 25
    • Ver Perfil
    • Email
  • Institución: unc
  • Nombre y apellido: marcos lujan
  • Sistema: SIU-Guarani - SIU-Toba
  • Utilizo algun sistéma del SIU: Sí
Web Service Foto Persona
« on: Julio 30, 2021, 09:57:44 am »
Hola buenos días, Queremos hacer un WebService que retorne la Foto de la persona pero no logramos hacer inyectar el archivo (Byte) en el json.
Nosotros obtenemos los datos de co_personas.get_persona_foto($persona).
Podrían guiarnos para solucionar este inconveniente.


Desde ya muchas Gracias .
Saludos.

Leonel Leonardis

  • Moderador Global
  • *****
  • Mensajes: 1893
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Leonel Leonardis
  • Sistema: SIU-Guaraní
  • Utilizo algun sistéma del SIU: Sí
Re:Web Service Foto Persona
« Respuesta #1 on: Agosto 02, 2021, 01:38:17 pm »
Hola Marcos,

Vas a tener que crear un servicio como sigue:

Código: [Seleccionar]
   /**
     * GET /personas-uni/{persona}/foto
     *
     * @notes Descarga la imagen de una persona
     *
     * @summary   Descarga la imagen de una persona
     * @responses 401 Error Autenticacion
     * @responses 404 No se pudo obtener la persona solicitada
     * @responses 500 Error interno al procesar los datos
     * @responses 200 file stream imagen
     */
    public function get_foto_list($persona)
    {
        if ($persona === null) {
            $this->fallar('persona es obligatorio', 400);
        }

       
        }
    }

Dentro del mismo vas a tener que obtener la imagen de la persona y enviarla directamente (en formato base64) seteando los headers correspondientes, ej:
Código: [Seleccionar]
header('Content-Type: image/jpeg');
No vas a poder meter una imagen dentro de un JSON.

Te dejo documentación de como agregar un web service a un recurso, deberias personalizar el archivo php/rest/personas/recurso_personas.php.

saludos.
2
« Última Modificación: Agosto 02, 2021, 03:11:02 pm por Leonel Leonardis »