目前,我的图像存储在项目目录的/src/main/resources/static/myimages中。现在,我想将它们移动到/Users/tom/myimages中的项目目录之外,以便在HTML标记中的img标签src =“/myimages/subdir/first.jpg”中从/Users/tom/myimages/中加载subdir/first.jpg。如何在Spring Boot 2.0项目中实现这一目标?
这将使我可以添加新图像,而不必在生产环境中重新编译项目。
最佳答案
您可以通过最简单的解析器PathResourceResolver
来实现此目的,它的目的是在给定公共(public)URL模式的情况下查找资源。实际上,这是默认解决方案。
代码:
@Configuration
@EnableWebMvc
public class MvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/myimages/**")
.addResourceLocations("/Users/tom/myimages")
.setCachePeriod(3600)
.resourceChain(true)
.addResolver(new PathResourceResolver());
}
}
描述:
PathResourceResolver
注册为其中的唯一ResourceResolver
。 PathResourceResolver
一起在/first.jpg
文件夹/Users/tom/myimages
文件的html代码