springboot 文件上传 java.io.IOException: The temporary upload location [/tmp/xx] is not valid

转自:http://meia.fun/article/1541578061808linux

首先分析下出现问题的缘由:linux 下的 /tmp 目录,是用来存储由各类程序建立的临时文件的地方。一些配置,致使系统每次 从新启动时,都会清空这个目录。
springboot 项目启动时默认会在 /tmp 目录下建立临时上传目录,因此若是 /tmp 目录不清空就不会抛出这个异常,而 /tmp 目录默认清空的条件是系统重启,因此问题的缘由应该不是系统重启,由于系统重启 项目也将重启,也就从新建立了临时上传目录。
有些服务器会装了 tmpwatch 命令,能够执行type tmpwatch命令检查是否安装,安装此命令后会启动一个 cron 定时任务,定时清空 /tmp 目录,可在/etc/cron.daily/tmpwatch目录下查看任务脚本,因此若是装了 tmpwatch,极可能就是由于 tmpwatch 在某个时间清空了 /tmp 致使的上传失败spring

推荐的解决方法:
application.properties 配置文件中添加spring.http.multipart.location=手动指定一个临时目录属性,注意:目录须要手动建立springboot

相关文章
相关标签/搜索