Saltar al contenido

Carga y publicación de imágenes de Spring Boot

Sé libre de compartir nuestro espacio y códigos con otro, apóyanos para hacer crecer esta comunidad.

Solución:

Por defecto, su aplicación Spring Boot sirve static contenido, en su caso imágenes, que se encuentra en las siguientes ubicaciones:

  • /static
  • /público
  • /recursos
  • /META-INF/recursos

por lo general, static/images/ tal vez sería el lugar donde Thymeleaf debería esperar el static imágenes que tienen que ser entregadas para su renderizado. Pero como este lugar se trata de static contenido y dado que en general es una mala idea guardar el contenido cargado (dinámico) dentro de su aplicación, recomendaría no hagas eso. ¿Pensó en lo que sucede si su aplicación se vuelve a implementar o se traslada a otra máquina? Tendría que hacer una copia de seguridad / mover las imágenes de una manera engorrosa. Hay mejores soluciones, almacenar el contenido cargado en una ubicación separada fuera de su aplicación (que, por ejemplo, podría ser configurable y también reutilizado por múltiples instancias) o incluso usar una base de datos para almacenar datos de imágenes. Eso también permitiría manejar imágenes en un contexto transaccional (por ejemplo, aislamiento y retrocesos).

Pero si ahora aún desea almacenarlo dentro de su aplicación, puede ampliar las ubicaciones agregando lugares para buscar (en realidad static contenido). Aunque la respuesta de Ajit e incluso la documentación todavía dan consejos para extender la tuya. WebMvcConfigurerAdapter, personalmente tendería a implementar WebMvcConfigurer en su lugar, porque el primero está en desuso.

En este caso debería verse como:

@Configuration
public class AdditionalResourceWebConfiguration implements WebMvcConfigurer 
    @Override
    public void addResourceHandlers(final ResourceHandlerRegistry registry) 
        registry.addResourceHandler("/images/**").addResourceLocations("file:images/");
    

Para acceder a la imagen desde su images folder,

ingrese la descripción de la imagen aquí

Necesitas anular addResourceHandlers método de WebMvcConfigurerAdapter clase como esta:

@Configuration
public class ResourceConfig extends WebMvcConfigurerAdapter 
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) 
        registry.addResourceHandler("/images/**").addResourceLocations("file:images/");
    

Después de eso necesitas agregar / antes de imágenes en URL como esta:


¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *