我的项目是前端Vue,后端Springboot
毕设里有访问本地静态资源的需求,但是前端由于浏览器的安全机制问题,直接访问会报Not allowed to load local resource的错误。
问题
我的本地资源是放在这里
按网上说的WebMvcConfigurer接口并重写addResourceHandlers()方法配置,但是一直报404的错误
@Configuration
public class PictureConversionConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//访问/file/这个路径才调用静态资源映射
registry.addResourceHandler("/file/**")
//本地资源存放的路径
.addResourceLocations("file:D:/tmp/");
}
}
在postman里进行测试,即访问路径为http://localhost:8081/file/abc.html会报404
当时报错的时候我以为这里配置的无效,我又去尝试改application.properties也是同样的效果,在网上求助也无果
解决
重点:重写addResourceHandlers()和改application.properties用一种就行了!!
经过我反复尝试,终于找到问题出错的地方了
是访问路径错了
我之前在application.properties里配置了server.servlet.context-path
server.port=8081 //端口
server.servlet.context-path=/community
所以访问时必须也要带上/community这一段
因此我把访问路径修改成 http://localhost:8081/community/file/abc.html
就成功了!