springboot 自定义上传路径

项目中涉及上传文件时,如果将文件保存到项目路径,一旦重新部署项目就会出现之前上传的文件找不到的情况;因此我们需要将文件保存到项目以外的绝对路径,或者使用单独的服务保存文件,本文介绍如何配置 springboot,使上传的文件保存到项目以外的绝对路径

 

1、在 application.yml 文件中自定义相关配置

为了实现动态配置文件保存路径和文件访问路径,故在 application.yml 文件中添加配置

file:
  path: file/**    #文件访问路径
  address:  D://uploadFiles/  #文件保存路径

 

2、实现 WebMvcConfigurer 接口,重写 addResourceHandlers 方法

自定义 FilePathConfig 类,实现 WebMvcConfigurer 接口

package com.demo.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;

@Configuration
public class FilePathConfig implements WebMvcConfigurer{
	
	@Value("${file.path}")
	private String path;
	
	@Value("${file.address}")
	private String address;
	
	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		registry.addResourceHandler(path).addResourceLocations("file:" + address);
	}
}

至此,配置完成

 

3、测试

启动项目

在配置的 D:\uploadFiles 文件夹下保存两张图片

浏览器访问 http://localhost:8080/file/timg.jpg

浏览器访问 http://localhost:8080/file/a.jpg

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟世君子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值