SpringBoot上传文件失败报The temporary upload location xxx is not valid
现象上传文件接口并没有问题,突然有一天上传文件失败,查看日志提示抛出异常,原因为The temporary upload location xxx is not valid。分析都明白,上传文件的时候,会先上传到Tomcat建的某个目录下,现在这个目录不见了。貌似之前清除了/tmp目录。到/tmp目
现象
上传文件接口并没有问题,突然有一天上传文件失败,查看日志提示抛出异常,原因为The temporary upload location xxx is not valid。
分析
都明白,上传文件的时候,会先上传到Tomcat建的某个目录下,现在这个目录不见了。貌似之前清除了/tmp目录。到/tmp目录下面,并没有找到xxx文件夹。因此新增一个xxx目录或重新启动该服务可以解决此问题。还有一种办法,从网上找的,大致的思想就是指定一个目录,然后上传文件的时候,临时存在在此处。
指定目录
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("/data/tmp");
return factory.createMultipartConfig();
}
参考: http://wuzhaoyang.me/2017/06/07/spring-multipartexception-location-not-valid.html