Descripción
Crear un servicio que permita subir imágenes usando MultipartFile.
Validar que el archivo sea una imagen (image/*).
Validar tamaño máximo (5 MB).
Guardar las imágenes en src/main/resources/static/images/listings.
Generar nombre único con UUID.
Devolver URL pública /images/listings/{filename}.
Integrarlo con ListingController.
Criterios de aceptación
Se puede subir una imagen desde el formulario.
La imagen se guarda en la carpeta correcta.
La URL se muestra en la vista.
Si el archivo no es imagen → error.
Si supera el tamaño → error.
Descripción
Crear un servicio que permita subir imágenes usando MultipartFile.
Validar que el archivo sea una imagen (image/*).
Validar tamaño máximo (5 MB).
Guardar las imágenes en src/main/resources/static/images/listings.
Generar nombre único con UUID.
Devolver URL pública /images/listings/{filename}.
Integrarlo con ListingController.
Criterios de aceptación
Se puede subir una imagen desde el formulario.
La imagen se guarda en la carpeta correcta.
La URL se muestra en la vista.
Si el archivo no es imagen → error.
Si supera el tamaño → error.