spring Boot版本 1.4.5
报错原因:
org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [C:\Users\admin\AppData\Local\Temp\tomcat.3797255209336115746.9008\work\Tomcat\localhost\ROOT\data\uploadTemp] is not valid上传文件大小了584K,明显没有触及到什么 文件太大之类的短板。
关键问题在于:
The temporary upload location [C:\Users\admin\AppData\Local\Temp\tomcat.3797255209336115746.9008\work\Tomcat\localhost\ROOT\data\uploadTemp] is not valid
字面意思:
本地的临时存储位置:C:\Users\admin\AppData\Local\Temp\tomcat.3797255209336115746.9008\work\Tomcat\localhost\ROOT\data\uploadTemp 不可达。
那么本地明显没有这个位置!出现的原因可能是莫名其妙被删除了。
spring boot找不到这个地址 就抛出来这个一场了。
看来是Spring boot的临时存储位置出问题了。
那么我重写一下他的临时存储位置:
第一种 方法 jar包启动时 利用 参数 来设置临时路径。 费劲,放弃。
第二种方法 注入bean,自定义修改文件临时存储路径。有代码侵入量,可以考虑。
@Bean
MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation("d://temp");
return factory.createMultipartConfig();
}第三种方法:
application.yml里
设置文件临时存储路径
spring.http.multipart.local =
三种方法。看自己选择了。
本文针对SpringBoot 1.4.5版本中文件上传时出现的MultipartException错误进行了详细解析。主要原因是临时文件存储路径无效导致的问题,并提供了三种解决方案,包括通过jar包参数、注入bean以及配置文件方式重新指定临时文件存储路径。
2982





