springboot怎么配置临时文件存储目录
springboot临时文件存储目录配置场景:上传文件功能报错,然后排查日志。报错日志:Thetemporaryuploadlocation[/tmp/tomcat.7957874575370093230.8088/work/Tomcat/localhost/ROOT]isnotvalid原因:在linux系统中,springboot应用服务再启动(java-jar命令启动服务)的时候,会在操作系统的/tmp目录下生成一个tomcat*的文件目录,上传的文件先要转换成临时文件保存在这个文件夹下面。由于临时
springboot临时文件存储目录配置
场景:
上传文件功能报错,然后排查日志。
报错日志:
The temporary upload location [/tmp/tomcat.7957874575370093230.8088/work/Tomcat/localhost/ROOT] is not valid
原因:
在linux系统中,springboot应用服务再启动(java -jar 命令启动服务)的时候,会在操作系统的/tmp目录下生成一个tomcat*的文件目录,上传的文件先要转换成临时文件保存在这个文件夹下面。
由于临时/tmp目录下的文件,在长时间(10天)没有使用的情况下,就会被系统机制自动删除掉。所以如果系统长时间没有使用到临时文件夹,就可能导致上面这个问题。
解决办法:
1.创建临时文件夹:
mkdir -p /tmp/tomcat.7957874575370093230.8088/work/Tomcat/localhost/ROOT
后面可能还会出现这种情况
2.application.properties重新配置一个文件目录,然后重启项目
# 存放Tomcat的日志、Dump等文件的临时文件夹,默认为系统的tmp文件夹 server.tomcat.basedir=/data/apps/temp
3.配置类配置临时文件存储目录
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation(tmepPath);
return factory.createMultipartConfig();
}Springboot修改临时文件的存储位置
报错
项目在线运行了一段时间后,上传文件时抛出如下异常:
The temporary upload location [/tmp/tomcat.*.80/work/Tomcat/localhost/ROOT] is not valid
经过查找,采用了如下的解决方式【修改临时文件的位置】
在application.yml 文件中添加
location: tempDir: /opt/location/tempDir #此处为*unix的系统相关位置
项目中添加配置类
@Configuration
public class MultipartConfig {
@Value("${location.tempDir:/opt/tempDir}")
private String tempDir;
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
File tmpDirFile = new File(tempDir);
// 判断文件夹是否存在
if (!tmpDirFile.exists()) {
tmpDirFile.mkdirs();
}
factory.setLocation(tempDir);
return factory.createMultipartConfig();
}
}
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















