失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > spring boot配置虚拟路径(替代docBase配置)访问本地图片

spring boot配置虚拟路径(替代docBase配置)访问本地图片

时间:2023-12-08 03:11:33

相关推荐

spring boot配置虚拟路径(替代docBase配置)访问本地图片

以前使用SSM框架开发web项目时,访问本地磁盘图片的虚拟路径可以在Tomcat的service.xml文件中进行配置,具体可看我的另一篇文章:IDEA设置虚拟路径,解决前端展示本地磁盘图片问题!

🆗,现在问题来了,spring boot的Tomcat是内置的,所以在Tomcat的service.xml文件中配置虚拟路径是行不通的。需要改为@Configuration class配置类的形式来定制资源映射路径

import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configurationpublic class MyWebAppConfiguration implements WebMvcConfigurer {//定制资源映射@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {//意思是:url中读取到/upload时,就会自动将/upload解析成D:/idea/java_workspace/image/uploadregistry.addResourceHandler("/upload/**").addResourceLocations("file:D:/idea/java_workspace/image/upload/");/*** Linux系统* registry.addResourceHandler("/upload/**").addResourceLocations("file:/home/image/upload/");*/}}

addResourceHandler(“xxx”) 用于指定对外暴露的访问路径,addResourceLocations(“xxx”) 用于指定文件放置路径

🆗,编写了上面的这些代码后,虚拟路径就已经配置成功咯

这是我本地图片的地址

效果

🆗,前面的是无坑区。下面我们来讲一下坑,怎么挖坑把自己埋了然后怪别人没有拉住自己!

在开发web项目时,我们一般都会设置项目根路径(应用上下文路径)

server:port: 8080 #tomcat端口号servlet:context-path: /cd #项目根路径/应用上下文路径

🆗,如果有设置ContextPath上下文路径,那么访问本地图片的时候还需要在URL中加上该应用上下文路径,才能正常访问到本地图片,否则404

所以,在配置了虚拟路径之后还是访问不了本地图片,那么就去看一下你有没有是不是配置了应用上下文路径

如果觉得《spring boot配置虚拟路径(替代docBase配置)访问本地图片》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。