一尘不染

临时上传位置[/tmp/tomcat.4296537502689403143.5000/work/Tomcat/localhost/ROOT]无效

spring-boot

我正在使用Spring Boot 1.5.13版本。

我收到如下异常消息。

Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.4296537502689403143.5000/work/Tomcat/localhost/ROOT] is not valid

我在Spring Github Issues中找到了这个问题。 https://github.com/spring-projects/spring-
boot/issues/9616

但是我仍然对此有疑问。

  1. 我没有在应用程序中使用文件上传功能。但是日志说“无法解析多部分servlet请求”为什么会这样?(当我的应用程序使用RestTemplate(Post方法)时,出现异常
  2. 为了解决该异常,我重新启动了我的应用程序,但该应用程序无法立即运行。尽管我重新启动了我的应用程序,但它引用了不存在的tomcat目录。重启一天后,它可以正常工作。我猜目录是在Spring或其他地方缓存的。

请帮帮我!


阅读 960

收藏
2020-05-30

共1个答案

一尘不染

  1. http POST方法将使用这些临时位置存储帖子数据。
  2. 有些操作系统(如centOS)会经常删除temp dir。因此,即使您设置了该位置的许可,一段时间后该目录也会被操作系统删除。重新启动后,临时目录将有所不同。

您可以在application.yml中设置多部分位置:

spring:
  http:
    multipart:
      location: /data/upload_tmp

更新资料

根据Vivek Sethi的评论,上面的属性对我不起作用,但下面的属性对我不起作用。

spring.servlet.multipart.location=/data/upload_tmp
2020-05-30