访问本地图片在springboot中如何配置,如何将本地图片路径映射成url

方法一、
在yml文件中配置
spring:
#  没配拦截器可以这样配置静态资源访问,有拦截器在webMvcConfigurer中配置
#  mvc:
#    static-path-pattern: /image/**
#  resources:
#    static-locations: file:D://img/,file:/data/www
方法二、
在WebMvcConfigurer类中覆写addResourceHandlers方法
@Configuration
public class WebMvcConfigurer extends WebMvcConfigurerAdapter {
   /**
	 * 拦截器加载
	 */
	@Override
	public void addInterceptors(InterceptorRegistry registry) {
		 // 多个拦截器组成一个拦截器链
        // addPathPatterns 用于添加拦截规则
        // excludePathPatterns 用户排除拦截
		registry.addInterceptor(loginInterceptor).addPathPatterns("/**").
				excludePathPatterns("/login/tologin","/file/**","/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**","/doc.html/**");

    }

   @Override
   public void addResourceHandlers(ResourceHandlerRegistry registry) {
      //和页面有关的静态目录都放在项目的static目录下
      registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
      //上传的图片在D盘下的img目录下,访问路径如:http://localhost:8081/image/1.jpg
      //其中image表示访问的前缀。"file:D:/img/"是文件真实的存储路径
      registry.addResourceHandler("/file/**").addResourceLocations("file:D:/img/");
      super.addResourceHandlers(registry);
   }
}

踩坑记录:
我之前按照网上教程配置完后(网上教程是对的,自己没看清楚配置),项目启动后总是访问不到图片,后面发现本地路径配置的时候多写了/**,导致图片无法访问,所以各位在配置时请一定记得本地路径千万不要加file:D:/img/**,

 

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值