项目环境
centos7 + springboot
问题
放假回来后上传文件报文件夹不存在错误。项目用的undertow,据说tomcat也有同样的问题。
解决方案
application.yml文件添加
spring:
servlet:
multipart:
location: ${java.io.tmpdir}
原因
以java -jar方式启动的项目会创建一个文件夹存放临时文件,默认位置就在${java.io.tmpdir}
下。操作系统会根据规则定期清理${java.io.tmpdir}
下的文件。
tips
-
${java.io.tmpdir}
自行百度或测试,系统不一样路径也不一样
public static void main(String[] args) {
System.out.println(System.getProperty("java.io.tmpdir"));
}
- 原来上传后的临时文件会立马删除