其他分享
首页 > 其他分享> > 【每日积累】SpringBoot WebMvcConfigurer中配置addResourceHandler和addResourceLocations,使得可以从磁盘中读取图片、视频、音频等

【每日积累】SpringBoot WebMvcConfigurer中配置addResourceHandler和addResourceLocations,使得可以从磁盘中读取图片、视频、音频等

作者:互联网

需求问题:就是自己写了接口想要通过url路径进行一波访问,却访问不到对应的图片和音频和视频之类;

上截图:

基本路径配置:

下面是接口配置的路径:

踩坑由此开始,先开始是用了查询各种绝对路径相对路径各种调试都试了,踩坑至半个多小时,也把对应的博文统统看了一遍,访问本地的资源要么在yml配置绝对路径,要么在addResourceLocations加你本地电脑的路径地址+ //即可,后续我图片地址可以访问了,但是音频访问不了,导致抓狂!

解决方案:

        将音频的路径改了又改,也在游览器上试了直接用我代码里面写的链接进行测试访问,是通常的,tips:为什么我用file:加本地路径可以访问是因为基于file Protocol 协议

 File Protocol 中文释义:本地文件传输协议 注解:File协议主要用于访问本地计算机中的文件

后面就点开看里面的源码开始捣鼓,后面发现我访问的音频带有中文直接decode url 了导致访问不到对应的路径:如下设定好不将url进行decode就可以正常访问了!

加上下面一串就可以进行正常访问!

 @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        UrlPathHelper urlPathHelper=new UrlPathHelper();
        urlPathHelper.setUrlDecode(false);
        urlPathHelper.setDefaultEncoding(StandardCharsets.UTF_8.name());
        configurer.setUrlPathHelper(urlPathHelper);
    }

成功之后,老泪横流,真是老牛踩电线,牛逼带闪电!

标签:addResourceHandler,SpringBoot,url,音频,路径,访问,本地,urlPathHelper,WebMvcConfigurer
来源: https://blog.csdn.net/weixin_49326936/article/details/122736601