У меня есть несколько изображений в папке ~/YYT/ProfilePicture. Я хочу, чтобы весенняя загрузка обслуживала эти изображения как статические ресурсы. URL-адрес запроса похож на «http://localhost:8080/ProfilePicture/4/takeovertheworld.jpg». Я попытался написать свойство spring.resources.static-locations=file:~/YYT/ в файле application.properties. Я также пробовал использовать WebMvcConfigurer. Ни один из них не работает.
@Configuration
public class WebStaticResourceConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
String homeDirectory = "file:" + Paths.get(System.getProperty("user.home"), "YYT/ProfilePicture").toString();
System.out.println(homeDirectory);
registry.addResourceHandler("/ProfilePicture/**").addResourceLocations(homeDirectory);
}
}
Путь должен быть изменен, как показано ниже:
spring.resources.static-locations=file:/YYT/
В вашем homeDirectory отсутствует завершающий /.
Используйте path.toUri(), чтобы сгенерировать действительный uri и использовать его впоследствии.
Path path = Paths.get(System.getProperty("user.home"), "YYT/ProfilePicture");
String homeDirectory = path.toUri().toString();
registry.addResourceHandler("/ProfilePicture/**").addResourceLocations(homeDirectory);
Теперь строка homeDirectory должна быть правильной.