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它默认的那些后面添加上你需要访问的地址即可。

猜你喜欢

转载自blog.csdn.net/null111666/article/details/88397734
今日推荐