栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot不需要配置Nginx也不需要接口,直接实现文件访问与下载

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot不需要配置Nginx也不需要接口,直接实现文件访问与下载

目录

1、配置WebMvcConfigurationSupport2、配置下载路径3、测试
在非分布式集群环境下,我们放了方便可以不进行nginx配置,也不需要写额外的接口就可以实现文件的访问与下载处理,具体实现通过 WebMvcConfigurationSupport的 addResourceHandlers方法进行实现;

1、配置WebMvcConfigurationSupport

创建WebMvcRegistrationsConfig类继承WebMvcConfigurationSupport类,并且重新addResourceHandlers方法,如果配置了拦截器那么需要进行放行处理,代码如下:

@Configuration
public class WebMvcRegistrationsConfig extends WebMvcConfigurationSupport {

	 
    private final String fileRootPath = "D:\file";

	
    @Resource
    private HandlerInterceptor interceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {

        // 无需拦截的接口集合
        List ignorePath = new ArrayList<>();

        // 文件静态资源访问
        ignorePath.add("/source/**");

        registry.addInterceptor(interceptor).addPathPatterns("/**").excludePathPatterns(ignorePath);
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 文件静态资源虚拟路径,`source`为任意名称即可
        registry.addResourceHandler("/source/**").addResourceLocations("file:" + fileRootPath + "/source/");
    }
}
2、配置下载路径

在WebMvcRegistrationsConfig中,配置的静态文件路径为D:\file\source,所以只要文件在D:\file\source路径下,就可以完成文件的下载,比如文件情况如下:

test.txt文件内容如下:

3、测试

假设SpringBoot服务的端口为9999,context-path为demo:

server:
  port: 9999
  servlet:
    context-path: /demo

那么访问test.txt的地址就是:http://localhost:9999/demo/source/test.txt

效果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781134.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号