Home > Enterprise >  SpringBoot serving static images from custom Path
SpringBoot serving static images from custom Path

Time:10-21

As now I've always served my images through a static path in the application.properties file:

spring.resources.staticlocations=file:/Applications/MAMP/htdocs/reportMaker/template
spring.mvc.static-path-pattern=/resources/**

Then by doing

http://localhost:8080/resources/logo.png

I'm able to reach the logo.

Now my aim is to switch with a folder path taken from my DB.

I've tried this approach:

@EnableWebMvc
@Configuration
public class StaticResourceConfiguration implements WebMvcConfigurer {

@Autowired
ConfigurationRepository confRepo;

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {

    myConfiguration conf = confRepo.findByConfKey("downloadPath");
    String path =  conf.getConfValue();

    if(path !=null) {
        registry.addResourceHandler("/resources/**").addResourceLocations(path);
    }
}

But I can't reach the logo in same way as before.

The path variable is /Applications/MAMP/htdocs/reportMaker/template.

CodePudding user response:

The path variable is /Applications/MAMP/htdocs/reportMaker/template.

According to this documentation https://www.baeldung.com/spring-mvc-static-resources the path should be prefixed by file:/

CodePudding user response:

I've resolved by removing: @EnableWebMvc and adding a / at the end of my path

@Configuration
public class StaticResourceConfiguration implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("file:/Applications/MAMP/htdocs/reportMaker/template/");
    }
}
  • Related