SpringBoot 自定义静态资源映射目录(配置addResourceHandler和addResourceLocations映射静态资源地址)
SpringBoot 自定义静态资源映射目录
·
在SpringBoot中,自定义静态资源映射目录
编写项目时通常将静态资源放置在resources目录下
而resources目录又可以根据具体的使用途径分为的public、static、template 等目录。
但是当你将SpringBoot项目打包为 war 包时,将会把图片等项目中所有的静态资源全都打包进去,这显然对于发布维护是非常不方便的,因此我么可以将静态资源放置在服务器的某些磁盘中,并通过SpringBoot进行访问
这里简单举个栗子
编写一个类,继承WebMvcConfigurer 类,重写addResourceHandlers 方法
先上代码,这里的addResourceHandler 是用来设置访问路径
的,也就是通过浏览器访问时输入的地址
http://localhost:8443/tryYiTry/具体文件名称
而 addResourceLocations 是设置的资源映射路径,
也就是在磁盘中的真实地址
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author Mi
* @version 1.0
* @description: TODO
* @date 2022/4/17 9:47
*/
@Configuration
public class SpringWebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/tryYiTry/**").addResourceLocations("file:C:/Users/Mi/OneDrive/桌面/图片/");
//registry.addResourceHandler("/tryYiTry/**").addResourceLocations("file:C:\\Users\\Mi\\OneDrive\\桌面\\图片/");
}
}
例如此处,设定静态资源存放的磁盘目录为 “图片”文件夹
那么对应的在磁盘中的路径即为
C:\Users\Mi\OneDrive\桌面\图片
相应的addResourceLocations中的路径就要设置为
file:C:/Users/Mi/OneDrive/桌面/图片/
或者
file:C:\\Users\\Mi\\OneDrive\\桌面\\图片/
注意:这两种都可以成功访问,但是路径必须以“ / ”结尾
启动项目在浏览器中尝试一下,
即,成功访问到该图片
更多推荐
已为社区贡献6条内容
所有评论(0)