一尘不染

如何使用Spring Boot提供位于Dropbox文件夹中的静态内容?

spring-boot

我有一个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将静态内容的访问限制为经过身份验证的用户。


阅读 337

收藏
2020-05-30

共1个答案

一尘不染

您可以添加自己的静态资源处理程序(它将覆盖默认值),例如

@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

2020-05-30