Descripción General
El endpoint de Gestión de Imágenes proporciona la funcionalidad para recuperar las imágenes asociadas a los dibujos del restaurante. Este endpoint permite acceder a las representaciones visuales de los planos y dibujos almacenados en el sistema.
🎯 Características de la Gestión de Imágenes
- Formato JPEG: Las imágenes se sirven en formato JPEG estándar
- Identificación compuesta: Se accede por ID del dibujo + Estado
- Streaming de archivos: Las imágenes se transmiten como archivos binarios
- Validación de contenido: Verificación de que la imagen existe antes de servirla
- Headers apropiados: Configuración correcta de MIME type para navegadores
Endpoint Disponible
GET
/Master/Drawings/GetPicture/{dibujos}/{estado}
Obtiene la imagen de un dibujo específico por su ID y estado. Este endpoint devuelve la imagen asociada al dibujo como un archivo JPEG que puede ser visualizado en navegadores o aplicaciones cliente.
Parámetros de ruta:
- dibujos (double, requerido): ID único del dibujo
- estado (string, requerido): Estado o versión del dibujo
Parámetros de consulta:
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Imagen devuelta exitosamente como archivo JPEG
Headers de respuesta:
Content-Type: image/jpeg
Content-Length: [tamaño del archivo]
Body:
[Archivo binario JPEG]
404 Not Found
Imagen no encontrada para el dibujo especificado
500 Internal Server Error
Error interno del servidor al procesar la imagen
Servicio Utilizado
IDrawingsService - Servicio principal para la gestión de dibujos
- GetDrawingPicture(): Obtiene la imagen de un dibujo específico
- Parámetros: dibujos (double), estado (string), initialCatalog (string), userID (string), password (string)
- Retorno: byte[] - Array de bytes de la imagen JPEG
📝 Ejemplos de Uso
🌐 Uso en HTML
<img src="/Master/Drawings/GetPicture/1001/ACTIVO?initialCatalog=RestMasterDB"
alt="Plano del comedor principal"
style="max-width: 100%; height: auto;">
🔗 Uso en JavaScript
// Cargar imagen dinámicamente
const img = new Image();
img.src = `/Master/Drawings/GetPicture/${dibujoId}/${estado}?initialCatalog=${dbName}`;
img.onload = () => {
document.getElementById('drawing-container').appendChild(img);
};
📱 Uso en Aplicaciones Móviles
// Descargar imagen para uso offline
const response = await fetch(`/Master/Drawings/GetPicture/${dibujoId}/${estado}?initialCatalog=${dbName}`);
const blob = await response.blob();
const url = URL.createObjectURL(blob);
// Usar la URL para mostrar o guardar la imagen