当前位置:   article > 正文

Spring Boot设置io临时目录

Spring Boot设置io临时目录

        在部署springboot项目,使用MultipartFile上传文件会出现以下异常

  1. Failed to parse multipart servlet request; nested exception is java.io.IOException:
  2. The temporary upload location [/tmp/tomcat.3016596448718765136.18001/work/Tomcat/localhost/xx] is not valid"

        出现这种情况的原因是由于在部署项目的时候没有指定应用的临时io目录,spring会直接使用操作系统的临时目录,而操作系统的临目录会在一定的周期类回收,导致隔一段时间后上传文件会出现上述问题。

         解决上述文件有很多种方式,根据网友经验,总结以下四种设置临时目录的方法:

一、配置tomcat的basedir

  1. server:
  2. tomcat:
  3. basedir: /usr/local/temp

二、配置multipart的location

  1. spring:
  2. servlet:
  3. multipart:
  4. location: /usr/local/temp

三、启动jar指定tmpdir

java -jar  -Djava.io.tmpdir=/usr/local/temp  xxx.jar

四、编码注入

  1. @Bean
  2. public MultipartConfigElement multipartConfigElement() {
  3. MultipartConfigFactory factory = new MultipartConfigFactory();
  4. factory.setLocation("/usr/local/temp");
  5. return factory.createMultipartConfig();
  6. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/341299
推荐阅读
相关标签
  

闽ICP备14008679号