我有一个Spring Boot Web应用程序,我想提供位于Linode VPS上共享的Dropbox目录中的静态内容(〜/ Dropbox / images)。我读过Spring Boot将自动从
"classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/",
但是我的Dropbox目录当然不在classpath上。
尽管可以将Apache配置为在Dropbox文件夹中提供图像,但我想利用Spring Security将静态内容的访问限制为经过身份验证的用户。
您可以添加自己的静态资源处理程序(它将覆盖默认值),例如
@Configuration public class StaticResourceConfiguration extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**").addResourceLocations("file:/path/to/my/dropbox/"); } }
在Spring Boot中有一些与此有关的文档,但这实际上只是一个普通的Spring MVC功能。
另外,从Spring Boot 1.2(我认为)开始,您可以简单地进行设置spring.resources.staticLocations。
spring.resources.staticLocations