1.bug场景
做图片上传 功能是,发现图片上传至项目下后无法通过ip:port/路径访问,重启项目是就可以正常访问。
2.bug原因
这是因为对服务器的保护措施导致的,服务器不能对外部暴露真实的资源路径,需要配置虚拟路径映射访问。
3.bug解决
@Configuration
public class MyBlogWebMvcConfigurer implements WebMvcConfigurer {
@Autowired
AdminLoginInterceptor adminLoginInterceptor;
//注册拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(adminLoginInterceptor).addPathPatterns("/admin/**")
.excludePathPatterns("/admin/login").excludePathPatterns("/admin/dist/**").excludePathPatterns("/admin/plugins/**");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/admin/dist/images/**").addResourceLocations("file:" + Constants.FILE_UPLOAD_DIC);
// registry.addResourceHandler("/upload/**").addResourceLocations("file:" + Constants.FILE_UPLOAD_DIC);
}
//添加视图映射
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("admin/login");
registry.addViewController("/admin/index").setViewName("admin/index");
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190722185701964.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDE2MjM2OA==,size_16,color_FFFFFF,t_70)