专栏首页技术进阶之路SpringBoot 上传文件后访问文件

SpringBoot 上传文件后访问文件

我们在上传文件的时候会指定一个服务器的路径,这个路径不能写死在代码中,所以我们会提取出来:

application.yml

那么上传之后怎么访问到文件呢?

我们需要将静态资源暴露出去,新建一个 MVC 配置类:

package com.lsu.file.controller.config;

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.WebMvcConfigurer;

/**
 * 文件上传配置
 *
 * @Author wang suo
 * @Date 2020/10/17 0017 14:30
 * @Version 1.0
 */
@Configuration
public class SpringMvcConfig implements WebMvcConfigurer {

    @Value("${file.path}")
    private String path;

    /**
     * SpringBoot 静态资源配置
     *
     * @param registry 注册类
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/f/**").addResourceLocations("file:" + path);
    }

    //http://127.0.0.1:9000/file/f/teacher/Nz1H76bO-头像2.jpg
}

访问路径可以这样写:

http://127.0.0.1:9000/file/f/teacher/Nz1H76bO-头像2.jpg

这样写即相当于直接访问 D:/fileUpload/imooc/teacher/Nz1H76bO-头像2.jpg 了。

因为那个 f 就等价于 D:/fileUpload/imooc/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一张图记住 Vim 常用命令

    基本上 vim 可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模...

    wsuo
  • JavaScript 同步和异步的执行机制问题

    今天做项目的时候遇到了一个问题,当我在请求完后端数据的时候,想去立刻打印出请求出来的信息时,怎么打印都是空的,但是出来这个请求方法之后他又有数值了,于是我很纳闷...

    wsuo
  • Spring 动态代理

    Spring 框架在运行时,通过 动态字节码技术 ,在 JVM 创建时运行在 JVM 内部,等程序结束后会和 JVM 一起消失。

    wsuo
  • feign关闭hystrix

    一、为指定的Feign客户端禁用Hystrix 1) 创建一个Feign禁用Hystrix的禁用配置类

    似水的流年
  • springboot设置静态资源不拦截的方法

    Dream城堡
  • java进阶|基于springAop和自定义注解进行方法的耗时统计

    本想着基于aop做些比较实际一点的业务场景,但是服务器不给力,暂时没法连接上了,额,这也是自己没有去写其它内容的客观原因之一了,因为涉及不了数据库层...

    后端Coder
  • Redis整合Spring项目搭建实例

    本文介绍了如何使用注解的方式,将Redis缓存整合到你的Spring项目。 首先我们将使用jedis驱动,进而开始配置我们的Gradle。 group 'com...

    CSDN技术头条
  • Spring boot with Service

    本文节选自《Netkiller java 手札》 5.7. Service 5.7.1. Application @ComponentScan({ "web",...

    netkiller old
  • 基于Springboot+jpa+thymeleaf+rabbit+SpringBoot mail 的简单项目

    Springboot+jpa+thymeleaf+rabbit 紧跟要求, 不需要使用Mybatis, 也不需要使用Eureka!!! 使用Rabbi...

    时间静止不是简史
  • springboot使用rabbitMQ(带回调)

    配置文件2:RabbitConstants(主要用于用户名、密码等值从配置文件获取,也可以用@Value方式)

    小尘哥

扫码关注云+社区

领取腾讯云代金券