背景
在web开发中如果把图片直接添加到项目中,因为项目没有刷新,所以添加的图片往往无法及时显示。
于是想到了把图片添加到项目之外的文件夹中,这样可以做到及时显示。
代码
在配置中,添加images/的拦截,分发到对应的本地文件夹(记得带上前面的file)。不懂的话可以直接复制。
package com.guangyu.config;
import com.guangyu.interceptor.MyInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.*;
@Configuration
public class MyWebConfig extends WebMvcConfigurerAdapter {
//配置一个静态文件的路径 否则css和js无法使用,虽然默认的静态资源是放在static下,但是没有配置里面的文件夹
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/static/");
registry.addResourceHandler("/images/**").
addResourceLocations("file:/D:/images/");
super.addResourceHandlers(registry);
}
/*添加拦截器*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(myInterceptor()).addPathPatterns("/good/**")
.excludePathPatterns("/js/**")
.excludePathPatterns("/assets/**")
.excludePathPatterns("/css/**")
.excludePathPatterns("/index/**")
.excludePathPatterns("/font/**")
.excludePathPatterns("/images/**")
.excludePathPatterns("/json/**")
.excludePathPatterns("/skin/**");
}
@Bean
public MyInterceptor myInterceptor(){
return new MyInterceptor();
}
}
<img width='30px' height='30px' src='/images/kuzi/"+button.id+".png'/>