spring boot 配置虚拟静态资源文件
我们实现的目的是:通过spring boot 配置静态资源访问的虚拟路径,可实现在服务器,或者在本地通过:http://ip地址:端口/资源路径/文件名 ,可直接访问文件
比如:我们本地电脑的:E:/upload/image/,存放上传的图片。
通过spring 配置静态资源虚拟路径:具体配置信息如下:
编写:ResourceConfigAdapter.java配置类,代码如下:
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.WebMvcConfigurerAdapter; /**
* 类说明:将物理磁盘文件存放的绝对路径映射为一个虚拟路径,就可以通过SpringBoot服务来访问文件了 可以直接通过服务器的域名+图片路径,实现图片的全路径在浏览器直接预览
*/
@Configuration
public class ResourceConfigAdapter extends WebMvcConfigurerAdapter { @Value("${upload.path}")
private String uploadPath; @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
String os = System.getProperty("os.name");
if (os.toLowerCase().startsWith("win")) {
//如果是Windows系统:这里的路径,可根据自己想上传图片在本地电脑硬盘的路径
registry.addResourceHandler("/image/**"). //这一句代表,如果在浏览器访问项目服务器的时候,有:/image/xxxxx,的时候,资源自动指向E:/upload/image/该路径
addResourceLocations("file:E:/upload/image/"); //这句代表资源文件的位置
} else {
//linux和mac系统
registry.addResourceHandler("/image/**").
addResourceLocations("file:" + uploadPath + "/");
}
super.addResourceHandlers(registry);
}
}
代码里面出现: 是我写在properties配置文件里面的配置变量。主要是在linux服务器的图片存放路径,你们自己可自己写死先,好方便测试
@Value("${upload.path}")
private String uploadPath;

代码已经全部配置好了。上传文件的代码,这里就不展示了,因为上传文件代码实在太简单了。(若想知道,可百度:spring boot 文件上传,或者可添加本人微信:Y1141100952询问(秒回哦))
比如:
E:/upload/image/
存放了图片,图片名为,1234567.jpg 那么在项目启动的情况下,在本地浏览器想访问该图片,那么完整的路径为: http://127.0.0.1:项目启动端口号/image/1234567.jpg
解析:
registry.addResourceHandler("/image/**"). //这一句代表,如果在浏览器访问项目服务器的时候,有:/image/xxxxx,的时候,资源自动指向E:/upload/image/该路径
addResourceLocations("file:E:/upload/image/"); //这句代表资源文件的位置
我们看到有这段配置代码,主要是这一句:addResourceHandler("/image/**")
spring boot 配置虚拟静态资源文件的更多相关文章
- Spring Boot中的静态资源文件
Spring Boot中的静态资源文件 1.SSM中的配置 2.Spring Boot 中的配置 2.1 整体规划 2.2 源码解读 2.3 自定义配置 2.3.1 application.prope ...
- Spring Boot实战:静态资源处理
前两章我们分享了Spring boot对Restful 的支持,不过Restful的接口通常仅仅返回数据.而做web开发的时候,我们往往会有很多静态资源,如html.图片.css等.那如何向前端返回静 ...
- Spring Boot 中的静态资源到底要放在哪里?
当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥Spring Boot 中的静态资源加载问题:"松哥,我的HTML页面好像没有样式?& ...
- 【spring boot】7.静态资源和拦截器处理 以及继承WebMvcConfigurerAdapter类进行更多自定义配置
开头是鸡蛋,后面全靠编!!! ======================================================== 1.默认静态资源映射路径以及优先顺序 Spring B ...
- spring boot 2.0 + 静态资源被拦截,怎么办?
问题描述:使用springboot 2.0后,按照springboot 1.5版本(以下简称旧版)的方式去配置项目.结果发现静态资源访问不到了,本文对此情况分析.处理 项目结构: 直接上图 如果是在旧 ...
- (4)Spring Boot Web开发---静态资源
文章目录 对静态资源的映射规则 模板引擎 Thymeleaf 使用 & 语法 使用之前将的快速创建项目的方法,勾选我们需要的场景,这里我需要 web --> web.sql --> ...
- spring mvc 配置对静态资源的访问
在spring mvc的配置文件中做如下配置: 1. <?xml version="1.0" encoding="UTF-8"?> <bean ...
- spring boot默认访问静态资源
演示spring boot默认可以直接访问静态资源的2种方法: 第一种:在src/main/resources资源目录下创建一个名为"static"的文件夹(该文件夹的名称是规定死 ...
- spring boot 2.x静态资源会被HandlerInterceptor拦截的原因和解决方法
在spring boot 1.5.x中,resources/static目录下的静态资源可以直接访问,并且访问路径上不用带static,比如静态资源放置位置如下图所示: 那么访问静态资源的路径可以是: ...
随机推荐
- jsp学习笔记:mvc开发模式
jsp学习笔记:mvc开发模式2017-10-12 22:17:33 model(javabe)与view层交互 view(视图层,html.jsp) controller(控制层,处理用户提交的信息 ...
- (一)DAO设计及BaseDAO和BookDAO的实现
1.总体架构 MVC 设计模式:Model:POJO(Plain Old Java Object) Controller:ServletView:JSP + EL + JSTL 2.技术选型 数据库: ...
- Rocket - debug - Example: Quick Access
https://mp.weixin.qq.com/s/SxmX-CY2tqvEqZuAg-EXiQ 介绍riscv-debug的使用实例:配置Quick Access功能. 1. Quick Acce ...
- Chisel3 - 复合数据类型
https://mp.weixin.qq.com/s/rXYqiZKuBpAYL8R94zxgRA Chisel允许用户根据需要,把基本数据类型组合成为复合数据类型使用.如C语言里面的结构体,这样 ...
- Java实现蓝桥杯历届试题格子刷油漆
问题描述 X国的一段古城墙的顶端可以看成 2*N个格子组成的矩形(如下图所示),现需要把这些格子刷上保护漆. 你可以从任意一个格子刷起,刷完一格,可以移动到和它相邻的格子(对角相邻也算数),但不能移动 ...
- Java实现 LeetCode 274 H指数
274. H指数 给定一位研究者论文被引用次数的数组(被引用次数是非负整数).编写一个方法,计算出研究者的 h 指数. h 指数的定义: "h 代表"高引用次数"(hig ...
- PAT甲级 Reversible Primes
描述 A reversible prime in any number system is a prime whose "reverse" in that number syste ...
- 关于C#委托三种调用的分享
一.同步调用 1.同步调用会按照代码顺序来执行2.同步调用会阻塞线程,如果是要调用一项繁重的工作(如大量IO操作),可能会让程序停顿很长时间,造成糟糕的用户体验,这时候异步调用就很有必要了. 举个栗子 ...
- JDBC连接泄露问题的排查过程总结
当前使用的Spring JDBC版本是5.0.0.RC1,HikariCP版本是3.1.0. 今天测试同学反馈在前端页面点击次数多了,就报500错误,数据显示不出来.于是我在后台服务日志中观察发现Hi ...
- httpd解析php的小贴士
以前使用php的时候, 都是直接用nginx和php对接的, 极少是用apache去对接, 但是最近在用httpd测试WordPress的时候, 发现一个有趣的问题, php不用启动也能直接去解析ph ...