springboot 访问服务器静态资源

发布时间 2023-04-09 17:28:12作者: freewsf

一  应用场景

一个springboot的应用,需要访问服务器/home/webapp/upload  目录下的静态资源。一般是动态上传的图片,需要访问时,需要用到。

二 实现方式

1. 配置文件

wycms:
  # 文件路径 示例( Windows配置file:D:/wycms/uploadPath,Linux 
   置file:/home/wycms/uploadPath)
  outerImgLocation: file:/home/webapp/

注意:无论是 linux还是windows,配置的路径,都要用:file: 路径 这样子配置,缺少file: 就无法访问

2. 添加 WyCmsWebMvcConfigurer,注册资源访问路径

/**
 * Created by wangl on 2017/11/21.
 * todo:springMVC配置文件
 * <p>
 * 注意:这里不能使用  WebMvcConfigurationSupport  因为这这个类会倒置springboot的自动装配失效,
 * 从而造成SPRINGBOOT 默认配置的  静态资源文件的路径无法访问的问题发生
 */
@Configuration
@Slf4j
public class WyCmsWebMvcConfigurer extends WebMvcConfigurerAdapter {

    @Value("${wycms.outerImgLocation:''}")
    private String outerImgLocation;

    @Value("${server.servlet.context-path:''}")
    private String CONTEXT_PATH;

    //访问静态资源
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("*************addResourceHandlers***************");
        //注册访问路由
        registry.addResourceHandler("/outer/**").addResourceLocations(outerImgLocation);
        super.addResourceHandlers(registry);
    }
}

 

三. 访问  

http://localhost:8088/outer/1.jpg

其中1.jpg 放在服务器 /home/webapp 路径下面。