当前位置:   article > 正文

springboot jar包启动访问jar包外的静态文件_springbootjar包外部静态资源

springbootjar包外部静态资源

这次做了这么一个需求,上传html字符串到服务器上,服务器生成html文件,并且能直接访问。因为是个小需求,所以就一台服务器,没有静态文件服务器,所以原先打算把html保存到resources/static文件夹下,然后127.0.0.1:8080/xxx.html就能直接访问静态文件,后来在idea上跑是没有问题,可以写入文件到resources/static文件夹下,但是打成jar包之后就没办法写jar包里面的resources/static文件夹了。后来没办法,只能放到jar包外面,也就是在项目外面配一个静态文件目录,但是怎么能在项目里返回项目外的html视图呢?这里我用了一个ResourceHandlerRegistry 做了一个映射,将/view/case/**路径的请求映射到E:\\server\\目录下,这样就能直接访问E:\\server\\下的静态文件了

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
    @Autowired
    private YmlProperties ymlProperties;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/view/case/**").addResourceLocations("file: E:\\server\\");
        super.addResourceHandlers(registry);
    }
}

这种写法不需要在yml中添加其他配置了,我看网上也有讲在yml中配置的,

  1. spring:
  2. resources:
  3. static-locations: file:D:/static/

但是我因为我用了拦截器,测试没有生效,后面有时间看下为什么拦截器会导致static-path-pattern等yml中的配置没有生效。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/163275
推荐阅读
相关标签
  

闽ICP备14008679号