springboot文件上传修改临时文件路径

本文介绍了如何在SpringBoot应用中使用Undertow容器时,通过配置`spring.servlet.multipart.location`将临时文件存储到指定目录。虽然系统仍会在`/tmp`下创建一个4k大小的目录,但实际上传过程中的临时文件会存储在`/data/tmp`,上传完成后这个目录会被自动清理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、配置:spring.servlet.multipart.location=/data/tmp

2、代码

@Configuration
public class MultipartConfig {
 
    @Value("${spring.servlet.multipart.location}")
    private String tmpLocation;
 
    @Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        // 若没有该目录,则创建,此处使用了第三方插件的FileUtil,各位可以使用原生File实现该逻辑
        if (!FileUtil.exist(tmpLocation)) {
            FileUtil.mkdir(tmpLocation);
        }
        factory.setLocation(tmpLocation);
        return factory.createMultipartConfig();
    }
}

3、

通过上述两项配置可以实现spring boot 使用undertow容器上传文件时将/tmp/undertow*的临时目录切换至指定的目录下的效果。

但是,依然会在/tmp目录创建一个4k大小的undertow*的目录,不过上传时产生的临时目录不会再存放到/tmp/undertow*下了(可以在上传文件时实时观察/tmp/undertow*和/data/tmp的目录大小判断,上传途中/tmp/undertow*目录无任何变化,而/data/tmp目录一直在变大,当上传完成后/data/tmp大小恢复至0,说明被清理了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值