springboot打成jar启动后如何上传并访问如图片等静态资源

出现这个问题是我在将一个springboot项目打成jar包使用命令 java -jar 项目名.jar    在dos命令行中启动项目。

创建的文件夹在根目录下面如图:

此时我们如何去访问你上传到文件夹下的文件如图片等呐?

一种是使用nginx自己创建一个站点去访问你的本地的指定地址,这个需要你去配置nginx,而且启动系统后你要访问图片还要每次去启动nginx,比较麻烦。

另一种就是使用系统自带的服务器,这个需要我们去进行一定的配置,怎么配置呐,

首先:在application.properties文件中要明白两个概念,

知道“spring.mvc.static-path-pattern” 和“spring.resources.static-locations”的区别

spring.resources.static-locations”用于告诉Spring Boot应该在何处查找静态资源文件,这是一个列表性的配置,查找文件时会依赖于配置的先后顺序进行,默认配置如下:

spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources

spring.mvc.static-path-pattern代表的是我们应该以什么样的路径来访问静态资源,换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求

#这表示只有静态资源的访问路径为/image/**时,才能被访问
spring.mvc.static-path-pattern=/image/**,

所以我们就能明白:spring.mvc.static-path-pattern”用于阐述HTTP请求地址而“spring.resources.static-locations”则用于描述静态资源的存放位置。

当我们知道了这个,那么你想要去访问你本地一定的位置的文件就不需要另外创建站点,可通过配置application.properties直接访问你上传的一些静态的资源

我的配置如下

spring.resources.static-locations =classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:/Workspaces/MyEclipse Professional 2014/DMS02/

然后我启动项目后,直接访问http://localhost:8880//photo/1/2018/3/1/zkhh0a3445608a4f4e078a318ff8fccefcb9.jpg?t=1552295441474就能显示出来如图:

而这张图的实际位置就在咱们配置的那个静态资源存放地址,如图

所以你要去访问一些系统之外你本地的一些静态资源,只需要在spring.resources.static-locations它默认的那些后面添加上你需要访问的地址即可。

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值