上传文件报错:The temporary upload location [/tmp/tomcat/xxx] is not valid

1.上传附加时报错找不到临时目录

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

发生改报错原因为

text 复制代码
(1)、SpringBoot项目启动后,系统默认会在 /tmp 目录下自动创建如下三个目录

 hsperfdata_root,
 tomcat.************.8080,(结尾是项目的端后)
 tomcat-docbase.*********.8080
(2)、Multipart(form-data)的方式处理请求时,默认就是在第二个目录下创建临时文件的

(3)、CentOS7 定时清理临时文件目录

/tmp目录的清理规则主要取决于/usr/lib/tmpfiles.d/tmp.conf文件的设定

java 复制代码
#Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d           #   清理/tmp下10天前的目录和文件
v /var/tmp 1777 root root 30d       #   清理/var/tmp下30天前的目录和文件

2.两种解决方案

2.1 启动脚本指定:

shell 复制代码
DIR=/home/application
JAVATEMPDIR=${DIR}/temp

nohup java -jar application-1.0.0-1.jar -Xms10m -Xmx100m  --server.port=9820 -java.tmp.dir=$JAVATEMPDIR 2>1&

2.2 在SpringBoot的配置之中设定路径

复制代码
spring.mvc.static-path-pattern=/upload/**
spring.http.multipart.max-file-size=10MB
#指定上传文件临时目录
spring.http.multipart.location=/opt/data/upload
相关推荐
阿昌喜欢吃黄桃几秒前
Dubbo服务重启时注册中心下线不及时问题排查与修复记录
java·rpc·dubbo·问题排查
confiself16 分钟前
树形思考研究进展
java·大数据·微服务
还是鼠鼠19 分钟前
【Spring AI智能体实战 01】Java开发者接入大模型:国内平台、Token与API Key入门
java·大模型·spring ai·deepseek·阿里云百炼
zerozrc030 分钟前
Java Lambda 底层实现
java
AlunYegeer34 分钟前
Spring Boot 多模块服务间 API Token 鉴权排查记录
java·spring boot·后端
编程风暴39 分钟前
3类人群的数据分析实习类型选择+4条选错红线
java·前端·数据分析
钱六两1 小时前
Spring AI 使用 MCP 客户端(调用高德 MCP)
java·人工智能·spring
城管不管1 小时前
RabbitMQ死信队列
java·分布式·ai·面试·职场和发展·rabbitmq·agent
long3161 小时前
Java 团队入门到精通学习资料
java·开发语言
vx-程序开发1 小时前
【java项目分享】springboot农产品销售平台14952
java·javascript·spring boot·python·eclipse·django·php