需求:前台访问服务器指定文件夹资源,从数据库中得到图片资源路径+url地址,不需要将资源存储到数据库中
实现:
@Configuration
public class WebMvcConfigurer extends WebMvcConfigurationSupport
{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//和页面有关的静态目录都放在项目的static目录下
//http://localhost:8081/images/0c6fa4a8-94da-4fc5-bac4-76c59d52c2b2.jpg
registry.addResourceHandler("/images/**").addResourceLocations("classpath:/static/images/");
//上传的图片在D盘下的OTA目录下,访问路径如:http://localhost:8081/OTA/d3cf0281-bb7f-40e0-ab77-406db95ccf2c.jpg
//其中OTA表示访问的前缀。"file:D:/OTA/"是文件真实的存储路径
// registry.addResourceHandler("/images/**").addResourceLocations("file:E:/images/");
if (!registry.hasMappingForPattern("/webjars/**")) {
registry.addResourceHandler("/webjars/**").addResourceLocations(
"classpath:/META-INF/resources/webjars/");
}
}
}
// Configuration标签放在任意路径下都可以执行,当程序运行时,自动加载配置项
nigix发布:
server{
location /images/ {
root '后台路径'/classes/static;
}
}
#测试后台直接通过url路径对图片访问,如果浏览器能加载图片,则表示发布成功了
实现效果:
PS:前台通过上传图片到服务器指定目录(请查看上一篇博客),url访问静态资源,可以实现闭环对资源的管理,达到想要的效果~