当前位置: 首页 > 编程笔记 >

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

孙莫希
2023-03-14
本文向大家介绍spring boot上传文件出错问题如何解决,包括了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

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

 类似资料:
  • 本文向大家介绍解决springboot项目上传文件出现临时文件目录为空的问题,包括了解决springboot项目上传文件出现临时文件目录为空的问题的使用技巧和注意事项,需要的朋友参考一下 最近写文件上传到服务器读取的代码,前端使用FormData上传,服务端用MultipartFile接收,自己测试了下MultipartFile对象有什么东西,结果一般属性都能出来,测试getInputStrea(

  • 本文向大家介绍详解SpringBoot文件上传下载和多文件上传(图文),包括了详解SpringBoot文件上传下载和多文件上传(图文)的使用技巧和注意事项,需要的朋友参考一下 最近在学习SpringBoot,以下是最近学习整理的实现文件上传下载的Java代码: 1、开发环境: IDEA15+ Maven+JDK1.8 2、新建一个maven工程:   3、工程框架   4、pom.xml文件依赖项

  • SpringBoot项目本地运行测试一切正常,Jar包在本地运行也正常,当打包后传到 Linux 系统上,项目启动也没有问题,但是在前端发送请求后,发生了 Caused by: java.lang.ClassNotFoundException: com.qsj.acojbackendmodel.entity.User,这个User路径是错误的 ,正常应该是:com.qsj.acoj.model.e

  • 前端上传文件一直报错,后端显示读文件出问题,刚进函数在绑定参数的时候就出了问题返回了 明明都能打印出来但文件就是上传不上去,服务器会报错 400 {"msg": "multipart: NextPart: EOF", "code": 40日, "data": null} 400 {"msg": "multipart: NextPart: EOF","code": 400, "data": null

  • 本文向大家介绍PHP 实现base64编码文件上传出现问题详解,包括了PHP 实现base64编码文件上传出现问题详解的使用技巧和注意事项,需要的朋友参考一下 一、场景 领导:小A同学,我们要做一个样本上传进行分析的功能,你看下是否使用base64编码加进去,这样客户端的同学就不需要用form-data方式来上传了,直接使用json格式就可以上报,可以让格式上报统一。 小A:好的,领导,马上搞定!

  • 本文向大家介绍解决layui上传文件提示上传异常,实际文件已经上传成功的问题,包括了解决layui上传文件提示上传异常,实际文件已经上传成功的问题的使用技巧和注意事项,需要的朋友参考一下 layui上传文件提示上传异常,实际文件已经上传成功 原因:上传回调的方法接收的参数应该是json格式的,之前返回的是String,所以一直走异常的方法 以上这篇解决layui上传文件提示上传异常,实际文件已经上