API Rest para almacenar imagen en base de datos con Entity Framework

Comprobación del Proyecto 🔥

Consideraciones

Existe un debate sobre si es correcto almacenar o no imágenes en base de datos. Mi comentario en su oportunidad es el siguiente:

La necesidad tiene cara de hereje

Toma en cuenta el crecimiento de tamaño de la data de la imagen al usar la codificación Base64, por lo que es un tema a considerar al consumir el API.

El proyecto es un ejemplo, por lo que no hay paginación ni un manejo de errores de conversión más allá de lo básico.

Sitios Auxiliares

Utilizaré los siguientes sitios para realizar la comprobación de la conversión de la imagen en Base64.

El uso de ambos enlaces es bastante directo y sencillo. Cargas una imagen y te retorna la cadena Base64, copias una cadena Base64 y te mostrará la imagen.

Insumos

Las siguientes dos imágenes pesan menos de 15 KB por lo que podremos hacer uso de las imágenes para la prueba.

POST

Carga el logo-demo.png en el sitio Image to Base64 Converter y obtén la cadena codificada.

En Swagger expande la opción POST /api/ProfilePictures y da Clic al botón Try it Out. En la sección Request body reemplaza el valor string con la cadena Base64 obtenida.

Presiona el botón Execute y valida el mensaje de respuesta. Podrás comprobar que se ha generado un Id y se han devuelto los datos de la fecha de creación y fecha de modificación.

Presiona nuevamente el botón Execute para crear un registro adicional.

GET

En Swagger expande la opción GET /api/ProfilePictures y da Clic al botón Try it out. Presiona el botón Execute y valida el mensaje de respuesta.

Podrás observar que la respuesta retornó dos resultados, toma el valor del campo picture de cualquiera de los primeros resultados y pegalo en el sitio Base64 to Image Converter. Obtendrás el siguiente resultado mostrando la imagen.

Puedes utilizar el método GET /api/ProfilePictures/{id} colocando como parámetro alguno de los dos Id creados en los ejemplos anteriores.

PUT

Carga el logo-demo-escala-gris.png en el sitio Image to Base64 Converter y obtén la cadena codificada.

En Swagger expande la opción PUT /api/ProfilePictures/{id} y da Clic al botón Try it Out. En la sección Parameters coloca el id de la imagen que desees modificar, en este ejemplo colocaré el valor 2. En la sección Request body reemplaza el valor string con la cadena Base64 obtenida.

Presiona el botón Execute y valida el mensaje de respuesta. Podrás comprobar que se ha modificado la cadena de caracteres correspondiente a la imágen y se han devuelto los datos de la fecha de creación y un cambio en el valor de fecha de modificación.

Toma el valor del campo picture y pegalo en el sitio Base64 to Image Converter. Obtendrás el logo en escala de gris que convertimos inicialmente.

DELETE

En Swagger expande la opción DELETE /api/ProfilePictures/{id} y da Clic al botón Try it Out. En la sección Parameters coloca el id de la imagen que desees eliminar, en este ejemplo colocaré el valor 2.

Presiona el botón Execute y valida el mensaje de respuesta.


1 comentario

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.