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)); } }
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)); } }
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); }