zoukankan      html  css  js  c++  java
  • sprintboot动态静态资源转发

    背景|

        要做一个功能,根据规则服务器上创建文件后,返回可下载的链接
         
        因为sprintboot中地址需要先在用@RequestMapping定义好,否则解析不了,这时动态生成的文件下载地址就会报错。
     

     解决方法|

        添加一个资源的处理器,将某一个路径地址映射到服务器的某一路径下
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
     
    /**
    * 拦截请求,将动态文件映射到本地
    * **/
    @Configuration
    public class StaticConfig extends WebMvcConfigurerAdapter {
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/channels/**").addResourceLocations("file:/opt/channel/");
            super.addResourceHandlers(registry);
        }
    }
    /channels/**:**是通配符,路径在/channels/下就会命中
    /opt/channel/:指代本地映射的路径,路径前要加file:
     

    注意:

        addResourceLocations的目录,最后必须以/结尾,否则不生效
  • 相关阅读:
    VSCode添加git bash作为默认终端
    Git无法提交branch is currently checked out
    Excel创建下拉列表限制数据有效性
    Windows添加管理员用户
    从Windows10中彻底删除【3D对象】文件夹
    异常处理机制
    泛型
    Java集合
    String、StringBuffer、StringBulider
    System类与Runtime类
  • 原文地址:https://www.cnblogs.com/meitian/p/11396651.html
Copyright © 2011-2022 走看看