需求问题:就是自己写了接口想要通过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);
}
成功之后,老泪横流,真是老牛踩电线,牛逼带闪电!