Пример #1
0
        public IActionResult Post([FromBody] ImagenRequestDto imagen)
        {
            ImagenResponseDto imagenResponse = new ImagenResponseDto()
            {
                ImagenOriginal = new PropiedadesImagenDto(),
                Mensaje        = string.Empty
            };

            try
            {
                if (_servicioSeguridad.esImagen(imagen.imagenBase64, (int)Origen.base64))
                {
                    imagenResponse = _servicioImagen.ProcesarImagen(_servicioImagen.DecodificaImagen(imagen.imagenBase64));
                    if (imagenResponse != null)
                    {
                        imagenResponse.Mensaje = Mensajes.ProcesadaExitosa;
                        return(Ok(imagenResponse));
                    }
                    imagenResponse.Mensaje = Mensajes.ProcesadaFallida;
                    return(BadRequest(imagenResponse));
                }
                else
                {
                    imagenResponse.Error.Error = Mensajes.FormatoNoValido;
                    return(BadRequest(imagenResponse));
                }
            }
            catch (Exception e)
            {
                var msg = $"Se ha presentado un error en el procesamiento de la imagen: {e.Message}";
                return(BadRequest(msg));
            }
        }
Пример #2
0
        public IActionResult ImagenRuta([FromBody] ImagenRutaDto rutaImagen)
        {
            ImagenResponseDto imagenResponse = new ImagenResponseDto()
            {
                ImagenOriginal = new PropiedadesImagenDto(),
                Mensaje        = string.Empty,
                Error          = new ErrorResponseDto()
                {
                    Error = string.Empty
                }
            };

            if (_servicioSeguridad.existeArchivo(rutaImagen.Ruta))
            {
                if (_servicioSeguridad.esImagen(rutaImagen.Ruta, (int)Origen.ruta))
                {
                    Image imagen = Image.FromFile(rutaImagen.Ruta);
                    imagenResponse = _servicioImagen.ProcesarImagen(imagen);
                    imagen.Dispose();

                    if (imagenResponse != null)
                    {
                        imagenResponse.Mensaje = Mensajes.ProcesadaExitosa;
                        return(Ok(imagenResponse));
                    }
                    imagenResponse.Mensaje = Mensajes.ProcesadaFallida;
                    return(BadRequest(imagenResponse));
                }
                else
                {
                    imagenResponse.Error.Error = Mensajes.FormatoNoValido;
                    return(BadRequest(imagenResponse));
                }
            }
            else
            {
                imagenResponse.Error.Error = Mensajes.ArchivoNoExiste;
                return(BadRequest(imagenResponse));
            }
        }
Пример #3
0
        public ImagenResponseDto ProcesarImagen(Image imagen)
        {
            ImagenResponseDto respuesta = new ImagenResponseDto()
            {
                RequiereModificar = false,
                ImagenOriginal    = new PropiedadesImagenDto()
                {
                    Dimensiones = new DimensionesDto()
                    {
                        Ancho = imagen.Width,
                        Alto  = imagen.Height
                    }
                }
            };
            string orientacion = Orientacion(imagen.Size);

            respuesta.ImagenOriginal.Orientacion = orientacion;

            switch (orientacion)
            {
            case "Horizontal":
                if (imagen.Width > (int)DimensionesA4Horizontal.Ancho ||
                    imagen.Height > (int)DimensionesA4Horizontal.Alto)
                {
                    respuesta.RequiereModificar = true;
                    respuesta.ImagenModificada  = CambiarTamaño(imagen.Size, orientacion);
                }
                break;

            case "Vertical":
                if (imagen.Width > (int)DimensionesA4Vertical.Ancho ||
                    imagen.Height > (int)DimensionesA4Vertical.Alto)
                {
                    respuesta.RequiereModificar = true;
                    respuesta.ImagenModificada  = CambiarTamaño(imagen.Size, orientacion);
                }
                break;
            }
            return(respuesta);
        }