目前,我的图像存储在项目目录的/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代码

    10-08 19:36