在使用html加载图片时,发现本地图片在页面上不能显示,但是直接引用网络上的资源是可以显示的。参考了众多前人的经验,得出一下结论:
本地图片不能显示最主要的问题是,图片在本地url和图片在服务器上被加载是的URL是不一样的。也就是路径的问题。
解决的办法其实很简单,只要写一个配置文件,也就是图片位置的转化器,原理是虚拟一个在服务器上的文件夹,与本地图片的位置进行匹配。
在调用本地图片时,就相当于调用服务器上的图片。
关键的代码如下:
@Configuration
public class MyWebAppConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
/**
* @Description: 对文件的路径进行配置,创建一个虚拟路径/Path/** ,即只要在<img src="/Path/picName.jpg" />便可以直接引用图片
*这是图片的物理路径 "file:/+本地图片的地址"
* @Date: Create in 14:08 2017/12/20
*/ registry.addResourceHandler("/Path/**").addResourceLocations("file:/E:/WebPackage/IdeaProjects/shiroLearn/src/main/resources/static/");
super.addResourceHandlers(registry);
}
}
希望可以帮到大家