spring boot上传文件出错问题如何解决

 更新时间:2020年01月21日 09:36:06   作者:King-D  
这篇文章主要介绍了spring boot上传文件出错问题如何解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了spring boot上传文件出错问题如何解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.2737591724424319502.8062/work/Tomcat/localhost/ROOT] is not valid

有一段时间没有使用测试环境的测试服务器。

然后昨天想使用一下测试环境,进行过文件的上传。以前也没有问题,但是今天突然不能使用,打开日志文件发现是报错了,报错为上面的报错。是缺少文件。

但是一般也没有人对服务器上的文件进行清理。??????

后来根据多方查找,找到了原因,原来是Linux下会自动清除tmp目录下10天没有使用过的文件,SpringBoot启动的时候会在/tmp目录下生成一个Tomcat.*的文件目录,用于"java.io.tmpdir"文件流操作,因为放假期间无人操作,导致Linux系统自动删除了临时文件,所以导致上传报错

解决方案

一、临时方案(快速解决方案,但是不推荐)

重启服务,重启后被删除的tomcat目录会重新生成

二、添加启动配置项(如果你的应用是用脚本启动的,可以考虑)

启动时增加参数-Djava.io.tmpdir=自定义目录

三、添加文件配置类(添加配置类,可以考虑)

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

四、修改tmpwatch 删除文件的逻辑(修改了系统,不推荐)

tmpwatch 删除文件的逻辑

五、修改application.yml配置文件(推荐)

设置文件临时存储路径

spring.http.multipart.location = /var/tmp

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring如何按业务模块输出日志到不同的文件详解

    Spring如何按业务模块输出日志到不同的文件详解

    最近做项目时有一个记录操作日志的需求,比如某个用户进行了查询、删除、修改等操作,下面这篇文章主要给大家介绍了关于Spring如何按业务模块输出日志到不同文件的相关资料,需要的朋友可以参考下
    2022-05-05
  • java SSLContext创建方式

    java SSLContext创建方式

    这篇文章主要介绍了java SSLContext创建方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java编程ssh整合常见错误解析

    Java编程ssh整合常见错误解析

    这篇文章主要介绍了Java编程ssh整合常见错误解析,如果有什么不足之处,欢迎留言补充。
    2017-10-10
  • Feign利用自定义注解实现路径转义详解

    Feign利用自定义注解实现路径转义详解

    这篇文章主要讲解一下如何通过注解实现对路由中的路径进行自定义编码,文中的示例代码讲解详细,对我们学习或工作有一定的帮助,需要的可以参考一下
    2022-06-06
  • Java设计模式笔记之Builder模式

    Java设计模式笔记之Builder模式

    建造者模式是日常开发中比较常见的设计模式,它的主要作用就是将复杂事物创建的过程抽象出来,该抽象的不同实现方式不同,创建出的对象也不同,这篇文章主要给大家介绍了关于Java设计模式笔记之Builder模式的相关资料,需要的朋友可以参考下
    2022-03-03
  • 常用的Java数据结构知识点汇总

    常用的Java数据结构知识点汇总

    这篇文章主要介绍了常用的Java数据结构知识点汇总,数据结构分线性数据结构和非线性数据结构,下面对此作详细介绍,需要的小伙伴可以参考一下,希望对你的学习或工作有所帮助
    2022-03-03
  • 使用java代码实现保留小数点的位数

    使用java代码实现保留小数点的位数

    因为个人应用的需要,所以就写个简单点的了。希望大家都给给建议,共同学习。需要的朋友也可以参考下
    2013-07-07
  • Spring Boot使用FastJson解析JSON数据的方法

    Spring Boot使用FastJson解析JSON数据的方法

    本篇文章主要介绍了Spring Boot使用FastJson解析JSON数据的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 详解java中float与double的区别

    详解java中float与double的区别

    这篇文章主要介绍了JAVA中float与double的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 简单实现Java验证码功能

    简单实现Java验证码功能

    这篇文章主要为大家详细介绍了简单实现Java验证码功能的代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05

最新评论