springboot项目上传文件报错:The temporary upload location [/tmp/tomcat.9174520707846674885.9991/work/...

一、错误提示:spingboot项目在上传文件时报错:

Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.9174520707846674885.9991/work/Tomcat/localhost/ROOT] is not valid"

二、原因:

       是因为系统长时间没人使用,tomcat临时目录被系统删除导致找不到目录

三、解决方案:

1、重启项目,自动生成新的临时文件目录(此方案只能临时解决问题,个人不推荐)

2、application.yml中进行如下配置(我本人使用此方式解决问题):

#指定上传文件临时路径
tomcat:
  basedir: /opt/temp/tomcat

3、java config方式:

//1.该处也需要配置下
@SpringBootApplication(exclude = {MultipartAutoConfiguration.class})
public class TestApplication {

    public static void main(String[] args) {
        SpringApplication.run(TestApplication .class, args);
    }

    /**
     * 解决文件上传,临时文件夹被程序自动删除问题
     *
     * 文件上传时自定义临时路径
     * @return
     */
    @Bean
    MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        //2.该处就是指定的路径(需要提前创建好目录,否则上传时会抛出异常)
        factory.setLocation("/data/uploadtmp");
        return factory.createMultipartConfig();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值