当前位置: 代码迷 >> 综合 >> 上传文件到服务器报错:Could not parse multipart servlet request; nested exception is java.io.IOException
  详细解决方案

上传文件到服务器报错:Could not parse multipart servlet request; nested exception is java.io.IOException

热度:60   发布时间:2023-12-17 09:30:54.0

问题描述:

Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.3464199984884304527.7700/work/Tomcat/localhost/ROOT] is not valid
原因:从错误代码上可以看出是因为临时目录无效(找不到临时目录)导致上传文件失败,而临时目录不存在是因为linux会自动清理10天未操作的临时文件目录。

快速排查及解决方法:

1、最简单的解决方案,重启服务,即可解决

2、检查form中是否写了enctype=“multipart/form-data”

3、在代码中增加系统默认目录配置 ,重启项目,系统会自动重新生成该目录,代码如下:

@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("/app/tmp");
return factory.createMultipartConfig();
}

4、手动创建目录

mkdirs /tmp/tomcat.3464199984884304527.7700/work/Tomcat/localhost/ROOT