springboot通过设置addResourceHandlers拦截请求访问本地资源踩坑实战

通过继承WebMvcConfigurationSupport(springboot2.x后用此类) 类后重写addResourceHandlers

@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
    String os = System.getProperty("os.name");

    //如果是Windows系统
    if (os.toLowerCase().startsWith("win")) {
        registry.addResourceHandler("/app_file/**")
                // /app_file/**表示在磁盘filePathWindow目录下的所有资源会被解析为以下的路径
                .addResourceLocations("file:" + filePathWindow);
    } else {  //linux 和mac
        registry.addResourceHandler("/app_file/**")
                .addResourceLocations("file:" + filePathLinux) ;
    }

    super.addResourceHandlers(registry);
}

添加拦截请求注意事项

springboot通过设置addResourceHandlers拦截请求访问本地资源踩坑实战_第1张图片

我是通过yaml配置文件访问地址(此处坑注意访问文件路径根式正确)

file:
  common:
    ## windows系统下访问路径
    uploadWindow: E:\common\file\root\
    ## windows系统下访问路径
    uploadLinux: /user/img/

springboot通过设置addResourceHandlers拦截请求访问本地资源踩坑实战_第2张图片

注意每个访问路径后面的路径加 / !!!

注意每个访问路径后面的路径加 / !!!

注意每个访问路径后面的路径加 / !!! 重要的事情说三遍

你可能感兴趣的:(springboot通过设置addResourceHandlers拦截请求访问本地资源踩坑实战)