SpringBoot访问外部文件及默认路由问题
作者:跟派大星学编程 发布时间:2021-08-12 10:58:01
标签:SpringBoot,访问,外部文件,默认路由
SpringBoot访问外部文件及默认路由
1 新增配置类
package com.pibigstar.common.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import com.pibigstar.common.Constant;
@Configuration
public class WebConfig implements WebMvcConfigurer{
/**
* 访问外部文件配置,访问D盘下文件
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//配置server虚拟路径,handler为jsp中访问的目录,locations为files相对应的本地路径
registry.addResourceHandler("/files/**").addResourceLocations("file:///D:upload/");
}
/**
*配置默认路由
*/
@Override
public void addViewControllers(ViewControllerRegistry registry) {
//将浏览器的默认行为重定向到主页
registry.addViewController("/").setViewName("redirect:/index.htm");
//测试页面
registry.addViewController("/test.htm").setViewName("/test.jsp");
}
}
2 访问
我们将test.jpg文件上传到D盘的upload文件夹后,那么在页面端访问则通过:localhost:8080/files/test.jpg
springboot访问项目外部文件配置及失效问题
springboot映射项目外部资源
配置文件:
cbs:
filePath: file:///
配置类:
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.WebMvcConfigurationSupport;
/**
* @description:配置访问外部文件
* @author: Administrator
* @date: 2019-07-10 16:17
*/
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Value("${cbs.filePath}")
private String filePath;//文件地址
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
System.out.println("文件路径=="+filePath);
registry.addResourceHandler("/appFile/**").addResourceLocations(filePath);
super.addResourceHandlers(registry);
}
}
地址:http://localhost:8080/appFile/D:/tmp/app/1.txt
访问的时候把 http://localhost:8080/appFile/ 替换成 file:///
也就是file:///D:/tmp/app/1.txt
下面是访问结果(请忽略掉乱码问题)
但是不知道为什么配置类继承WebMvcConfigurerAdapter和实现WebMvcConfigurer 接口都没有用,继承 WebMvcConfigurationSupport类才生效
来源:https://blog.csdn.net/junmoxi/article/details/80812457


猜你喜欢
- 主要用的是org.apache.tools.zip.ZipOutputStream 这个zip流,这里以Execl为例子。思路首
- Spring Boot 2.x 已经发布了很久,现在 Spring Cloud 也发布了 基于 Spring Boot 2.x 的 Finc
- Java作为一面向对象的语言,具备面向对象的三大特征——继承,多态,封装。继承顾名思义,继任,承接,传承的意思。面向对象的语言有一个好处,就
- final关键字的作用final关键字可以用来修饰引用、方法和类。1.final关键字修饰类当用final关键字修饰一个类后,这个类不能被继
- 前言有些业务比较复杂,比如我们需要新建10张表,每张表有10个字段,如果用手工来操作,肯定非常浪费时间,而且随着代码中对实体类的修改,还要同
- Java8已经发布很多年了,但是很多人在开发时仍然坚持使用着Date和SimpleDateFormat进行时间操作。SimpleDateFo
- this:this理解为:当前对象 或 当前正在创建的对象可以调用的结构:属性、方法;构造器this调用属性、方法:先了解一下形参:形参的意
- 本文实例讲述了Android实现完整游戏循环的方法。分享给大家供大家参考。具体如下:1. DroidzActivity.java:packa
- 一、方法这里我们用两种方法来实现跑马灯效果,虽然实质上是一种实质就是:1、TextView调出跑马灯效果2、TextView获取焦点&nbs
- 废话不多说了,直接给大家贴代码了,具体代码如下所示:html代码如下:<body><input id="file
- 本文所述实例实现WinForm自定义函数FindControl实现按名称查找控件的功能,在C#程序开发中有一定的实用价值。分享给大家供大家参
- Eureka什么是服务治理为什么需要服务治理?  服务治理是主要针对分布式服务框架的微服务,处理服务调用
- Mybatis有什么用前两天跟阿里的大牛聊天,他讲到对于性能要求高,需求变化多的互联网项目来说,用在sql优化上的开发时间是大头,有时候代码
- 1. 概述官方JavaDocsApi: javax.swing.JLabelJLabel,标签。标签主要用于展示 文本 或 图片,也可以 同
- 1:引入依赖<dependency> <
- 在线程中有两种常用的方法,能够通过数组实现相应的功能,但除此之外在区别上也是很明显的。本篇就其中的代表方法ArrayList和Vector进
- 这篇文章主要介绍了SpringBoot 使用Mybatis分页插件实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参
- 在Android开发中,往往要用到自定义的控件来实现我们的需求或效果。在使用自定义 控件时,难免要用到自定义属性,那怎么使用自定义属性呢?在
- 前言碎语今天博主分享一个Kubernetes集全管理软件,也就是Kubernetes web ui。是360团队开源的一款产品,Wayne
- 最初的源文件样式如下:用默认的配置进行格式化之后如下:使用如下配置后,格式化之后的代码如下:最终修改成下面这样比较合适:来源:https:/