广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBoot上传临时文件被删除引起报错的解决
  • 588
分享到

SpringBoot上传临时文件被删除引起报错的解决

2024-04-02 19:04:59 588人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录上传临时文件被删除引起报错的解决1.前言2.问题分析3.解决方案文件上传提示临时文件夹不存在1.异常信息2.原因3.解决方法上传临时文件被删除引起报错的解决 1.前言 在项目中使

上传临时文件被删除引起报错的解决

1.前言

项目中使用到了SpringBoot的上传实现了一个excel导入功能,上线后稳得一批,但突然有一天发现,导入失败报错:

location [/tmp/Tomcat.xxx.8551/work/Tomcat/localhost/ROOT] is not valid

详见如图

image.png

2.问题分析

springBoot项目启动后,系统会在‘/tmp'目录下自动的创建以下几个文件;

  • hsperfdata_root
  • tomcat.************.8080,(结尾为端口)
  • tomcat-docbase.*********.8080 ;

程序对上传文件操作时,会生成临时文件,暂存在临时文件目录中,经查阅资料发现Centos有自动清理规则,系统会对/tmp下10天未使用的文件进行清理,清理后再次使用文件上传就会出现以上问题 ;

3.解决方案

3.1重启项目

启动时会自动新建临时目录的。但是以后依旧会有被系统自动清除的可能(未彻底解决)。

3.2自定义临时文件路径

新增如下配置


server.tomcat.basedir=/home/dev/temp

注意事项:

  • 需要重启项目生效 ;
  • 若启动项目的用户有权限在该目录下创建文件夹,则会自动创建 ;

3.2新增配置

配置类方式指定临时文件路径


@Configuration
public class MultipartConfig {
    
    @Bean
    MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        String location = System.getProperty("user.dir") + "/dev/temp";
        File tmpFile = new File(location);
        if (!tmpFile.exists()) {
            tmpFile.mkdirs();
        }
        factory.setLocation(location);
        return factory.createMultipartConfig();
    }
}

文件上传提示临时文件夹不存在

1.异常信息

java.io.IOException: The temporary upload location [C:\Users\Administrator\AppData\Local\Temp\tomcat.1668302398522753093.8383\work\Tomcat\loca lhost\ROOT] is not valid

2.原因

文件上传临时上传文件夹失效了,可能是系统清除了临时目录。

3.解决方法

1.重启服务,不建议在生产环境使用。

2.增加服务配置,自定义baseDir。


server.tomcat.basedir=/tmp/tomcat

3.注入bean,手动配置临时目录,建议有项目组统一配置,便于管理和错误定位。


@Bean
  MultipartConfigElement multipartConfigElement() {
    MultipartConfigFactory factory = new MultipartConfigFactory();
    factory.setLocation("/tmp/tomcat");
    return factory.createMultipartConfig();
  }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: SpringBoot上传临时文件被删除引起报错的解决

本文链接: https://www.lsjlt.com/news/157768.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot上传临时文件被删除引起报错的解决
    目录上传临时文件被删除引起报错的解决1.前言2.问题分析3.解决方案文件上传提示临时文件夹不存在1.异常信息2.原因3.解决方法上传临时文件被删除引起报错的解决 1.前言 在项目中使...
    99+
    2022-11-12
  • SpringBoot文件上传临时目标被删除异常如何处理
    本文小编为大家详细介绍“SpringBoot文件上传临时目标被删除异常如何处理”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot文件上传临时目标被删除异常如何处理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-07-06
  • SpringBoot文件上传临时目标被删除异常怎么处理
    这篇“SpringBoot文件上传临时目标被删除异常怎么处理”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringBoo...
    99+
    2023-06-08
  • SpringBoot项目 文件上传临时目标被删除异常的处理方案
    1、业务背景 我们使用了SpringCloud 进行项目开发,其中一个主要服务(涉及到图片上传)的SpringBoot微服务在测试环境之中。因为此项目已经上线,很长一段时未针对此项目...
    99+
    2022-11-12
  • 解决SpringBoot文件上传临时目录找不到的问题
    SpringBoot文件上传临时目录问题 我相信大家在把项目部署到服务器上面时候都会遇到这样一个问题: org.springframework.web.multipart.Mult...
    99+
    2022-11-12
  • 如何解决SpringBoot文件上传临时目录找不到的问题
    这篇文章给大家分享的是有关如何解决SpringBoot文件上传临时目录找不到的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SpringBoot文件上传临时目录问题我相信大家在把项目部署到服务器上面时候都会遇...
    99+
    2023-06-20
  • Python 使用os.remove删除文件夹时报错的解决方法
    os.remove不能用来删除文件夹,否则拒绝访问。 # -*- coding:utf-8 -*-import osif __name__ == "__main__": os.remove('D:\test...
    99+
    2022-06-04
    解决方法 文件夹 时报
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作