/tmp/tomcat.8483603083983013286.8080/work/Tomcat/localhost/ROOT/upload_ff22ef4b_5eaa_431d_8385_16d0b

 

Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. /tmp/tomcat.8483603083983013286.8080/work/Tomcat/localhost/ROOT/upload_ff22ef4b_5eaa_431d_8385_16d0b43f2dad_00000102.tmp (No such file or directory)"

 

 

在做spring上传multipart file的时候,遇到了这个问题,提示没有找到这个文件。很奇怪。查看了一下那个木了,也就是tomcat.8483603083983013286.8080文件找不到了。重启一下应用就可以了。

为什么会这样?

 

后面我去找了,原来是spring boot使用这个fileupload的时候,如果不指定文件目录,就会创建一个临时目录,而这个临时目录可能会被删掉,所以需要添加以下配置,把临时文件目录自己创建出来:

/**
* 文件上传临时路径
*/
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("/app/pttms/tmp");
return factory.createMultipartConfig();
}

参考:https://www.cnblogs.com/canmeng-cn/p/8473225.html

 

 

除了修改配置文件,还可以修改配置,添加一个location

/tmp/tomcat.8483603083983013286.8080/work/Tomcat/localhost/ROOT/upload_ff22ef4b_5eaa_431d_8385_16d0b_第1张图片

你可能感兴趣的:(springcloud)