春节过完之后,客户突然提出上线的系统中不能上传文件了。查看日志后,发现报如下的错误:
org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.6321051024077769069.8090/work/Tomcat/localhost/ROOT] is not valid org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:112) org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.
网上搜索一下后,发现是因为springboot上传文件时,会在项目启动的时候创建一个临时文件夹,上传的文件先要转换成临时文件保存在这个文件夹下面。因为春节期间,系统使用率较低,该文件夹长时间没有更新,导致Linux删除了该文件夹,所以才会报那个错。
尝试了网上的一种解决方式:
在yml配置文件中添加:server.tomcat.basedir: /data/apps/temp 手动的将临时文件夹设置为自定义的文件夹,就不会被Linux删除了
在本地系统(windows)中可以生效,系统会自动生成/data/apps/temp这一路径,但是在Linux系统中不会生成/data/apps/temp路径,请问为什么?