spring boot 自定义规则访问获取内部或者外部静态资源图片的方法

 更新时间:2019年01月30日 11:30:55   作者:Tizzy  
这篇文章主要介绍了spring boot 自定义规则访问获取内部或者外部静态资源图片的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

项目中需要将图片放在磁盘上,不能将图片放在webapp下面!

springboot默认配置基本上可以满足我们的日常需要。但是项目中大量用户上传的图片,不能放在tomcat下面,这样子每次重新部署项目的时候,图片就失效了,很是麻烦。

所以此时就需要自定义配置springboot的项目静态文件映射

springboot默认的配置规则

映射 /** 到

classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resources

到本地文件路径也就是 resource/static/ 下面

访问时可以:localhost:8080/+资源路径+资源名

例如我的项目结构!

此时我访问的静态资源为:

localhost:8080/js/jquery.min.js

如果配置 jquery.min.js 直接在static下面 访问则是

localhost:8080/jquery.min.js

但现在需要自定义映射规则:

有两种方法一种是基于配置文件,另一种是基于代码层面配置。

1 基于配置文件

#配置内部访问地址和外部图片访问地址 /myimgs/**
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=file:C:/Users/tizzy/Desktop/img/,classpath:/static/

映射 /** 到 本地磁盘路径下存放的图片,和tomcat中的图片路径

访问路径则是

 localhost:8080/jquery.min.js
 localhost:8080/ 图片名

2 基于代码层面配置

@Configuration
public class WebMvcConfiguration extends WebMvcConfigurerAdapter {

@Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {

        //addResourceHandler是指你想在url请求的路径
        //addResourceLocations是图片存放的真实路径

    registry.addResourceHandler("/**").addResourceLocations("file:D://User/").addResourceLocations("classpath:/static/");
    super.addResourceHandlers(registry);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java并发编程Callable与Future的应用实例代码

    Java并发编程Callable与Future的应用实例代码

    这篇文章主要介绍了Java并发编程Callable与Future的应用实例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Java8新特性之Lambda表达式浅析

    Java8新特性之Lambda表达式浅析

    这篇文章主要介绍了Java8新特性之Lambda表达式,本文着重讲解了Lambda表达式的语法部份,需要的朋友可以参考下
    2014-06-06
  • Java 调用天气Webservice详解及实例代码

    Java 调用天气Webservice详解及实例代码

    这篇文章主要介绍了Java 调用天气Webservice详解及实例代码的相关资料,这里附实例代码,使用java 调用webservice 的小应用,需要的朋友可以参考下
    2016-11-11
  • Spring Boot实现功能的统一详解

    Spring Boot实现功能的统一详解

    这篇文章主要介绍了Spring Boot统一功能的处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 图解Java经典算法快速排序的原理与实现

    图解Java经典算法快速排序的原理与实现

    快速排序是基于二分的思想,对冒泡排序的一种改进。主要思想是确立一个基数,将小于基数的数放到基数左边,大于基数的数字放到基数的右边,然后在对这两部分进一步排序,从而实现对数组的排序
    2022-09-09
  • java对象初始化顺序验证示例

    java对象初始化顺序验证示例

    以下这段小程序对调用对象构造函数时,父类构造函数、成员变量初始化函数,以及非静态初始化块调用顺序进行验证,不考虑静态成员及静态初始化块
    2014-02-02
  • SpringMVC DispatcherServlet组件实现解析

    SpringMVC DispatcherServlet组件实现解析

    这篇文章主要介绍了SpringMVC DispatcherServlet组件实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • RabbitMQ之死信队列深入解析

    RabbitMQ之死信队列深入解析

    这篇文章主要介绍了RabbitMQ之死信队列深入解析, 死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取消息进行消费,需要的朋友可以参考下
    2023-09-09
  • SpringBoot与docker的结合的示例

    SpringBoot与docker的结合的示例

    本篇文章主要介绍了SpringBoot与docker的结合的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • SpringBoot数据库恢复的两种方法mysqldump和mysqlbinlog

    SpringBoot数据库恢复的两种方法mysqldump和mysqlbinlog

    binlog用来实现主从复制,也常用来误删数据库找回丢失的记录,本文主要介绍了SpringBoot数据库恢复的两种方法mysqldump和mysqlbinlog,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01

最新评论