Springboot上传文件 因为长时间没有更新临时文件路径导致路径被linux删除的问题?

新手上路,请多包涵

春节过完之后,客户突然提出上线的系统中不能上传文件了。查看日志后,发现报如下的错误:

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路径,请问为什么?

阅读 9.4k
1 个回答

linux系统中很重要的一点就是权限,检查一下你的应用用户是不是有这个路径的写权限

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题