springboot项目URL访问Linux上的指定文件夹的静态资源文件以及访问本地任意磁盘文件设置 您所在的位置:网站首页 linux图片文件夹在哪里 springboot项目URL访问Linux上的指定文件夹的静态资源文件以及访问本地任意磁盘文件设置

springboot项目URL访问Linux上的指定文件夹的静态资源文件以及访问本地任意磁盘文件设置

2024-07-10 14:16| 来源: 网络整理| 查看: 265

1、先来个访问本地的, 只需要在application.yaml配置文件添加以下代码即可

#springboot访问本地文件 spring: resources: static-locations: file:D:\\project\\ spring.resources.static-locations: 这个配置是告诉springboot访问哪里的资源

D:\\project\\ 是你需要访问本地电脑文件所在的文件夹名称; 我本地电脑D盘下面有一张名字为my.jpg的图片

 添加完上面配置代码后 ,启动springboot项目, 浏览器输入 http://localhost:8080/my.jpg, 效果如下图

 大家可以看到已经完美达到了通过url访问本地图片的效果; 在此说明下, 因为上面配置

spring.resources.static-locations的路径就是D盘project路径, 已经指定过了, 所有在浏览器地址栏只需要输入该盘下需要访问的图片文件名称即可, 这点小编应该说的很通俗易懂了

 访问D盘另外一张图片, 同理

上面是代码在windows本地电脑springboot通过url访问电脑静态资源图片的应用场景; 

那如果是项目运行在linux系统上呢???

2、springboot访问linux系统静态资源

添加一个配置类MyWebMvcConfigurer 让它实现WebMvcConfigurer 接口 , 具体代码如下:

package cn.seatech.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * 资源映射路径 为springboot访问静态资源做准备 */ @Configuration public class MyWebMvcConfigurer implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // /images/** 映射到哪里去,前端里面的路由 file:/home/fileUpload/ 表示需要访问linux系统文件所在的文件夹路径名称 registry.addResourceHandler("/images/**").addResourceLocations("file:/home/fileUpload/"); } }

说明: /images/** 为自定义名称, 可以理解为虚拟路由(一会儿浏览器地址输入url访问会用到)   ; file:/home/fileUpload/ 表示的是需要访问linux系统上文件所在的文件夹名称

 配置完成后, 小编是maven项目, 使用的编辑器是idea, 直接找到maven --> install 将项目打成jar包

 然后上传到服务器, 浏览器输入url操作结果如下图

 成功访问, 因为小编项目里面有swagger, 如果

registry.addResourceHandler("/**")直接配置路径为/**; 表示项目所有url请求都指定过滤掉, 那么造成的后果就是swagger页面将会访问不了 ; 所以registry.addResourceHandler("/images/**") 此项配置给了一个虚拟路由路径, 如果url输入的地址栏不输入images, 同样图片也是访问不了的, 如下图

说一下, 第一种情形, springboot通过url访问本地资源, 通过2中的方式配置 

registry.addResourceHandler("/images/**").addResourceLocations("file:D:\\project\\"); 只贴此行关键代码了, 同样也是可以达到成功访问的效果的, 如下图

3、 小结: springboot访问本地windows系统电脑静态资源, 有两种实现方式:

(1)通过配置yaml 配置文件spring.resources.static-location给定电脑本地需要访问文件所在的文件夹可以完美实现;

(2)第二种方式就是编写一个配置类继承 WebMvcConfigurer接口同样可以实现, 具体代码见上面代码部分;

但是springboot访问linux系统静态资源, 通过yaml配置文件是实现不了的, 小编自己也亲自测试过了,  直接按照2中的方式来就OK了 , 方式2中 MyWebMvcConfigurer 编写好后, yaml中就不需要做任何关于静态资源访问的配置了

4、写在最后

好的, 至于springboot通过url访问静态资源今天就先写到这, 欢迎一键三连, 点赞收藏评论转发, 后续小编会带给大家更多实战开发经验技巧, 咱们下篇见!!!

本篇属小编个人原创文章, 如需转载, 请务必注明原处, 感谢



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有