SpringBoot项目报错: Failed to parse multipart servlet request; nested exception is java.lang.RuntimeException java.nio.file.NoSuchFileException

SpringBoot项目报错: Failed to parse multipart servlet request; nested exception is java.lang.RuntimeException  java.nio.file.NoSuchFileException

一、问题描述

Failed to parse multipart servlet request; nested exception is java.lang.RuntimeException: java.nio.file.NoSuchFileException:

或者:

Failed to parse multipart servlet request; nested exception is java.io.IOException

image

二、引发原因

这个报错主要是前半句:ailed to parse multipart servlet request,引起的。

该异常是如何产生的?

从上面的异常信息来看,是因为该目录,不存在导致的。

该异常为何会产生我的应用中没有文件上传,为啥会抛org.springframework.web.multipart.MultipartException异常

首先,我们应该知道,对于http POST请求来说,它需要使用这个临时目录来存储post数据。

其次,因为该目录是挂在到/temp目录下的临时文件,那么对于一些OS系统,像centOS将经常删除这个临时目录,所有导致该目录不存在了

三、解决办法

以下三种方法,任何一种都可以解决,推荐第一种,简单方便省事。

1、重启SpringBoot项目

2、在application.yml文件中设置multipart location ,并重启项目

Plain Text
spring:
http:
multipart: location: /data/upload_tmp

3、添加启动参数 -java.tmp.dir=/path/to/application/temp/,并重启

大T笔记所有文章均为本人原创,转载请您注明来源,并留下原文链接地址,是对我的尊重,也是对知识的尊重,谢谢!
大T笔记 » SpringBoot项目报错: Failed to parse multipart servlet request; nested exception is java.lang.RuntimeException java.nio.file.NoSuchFileException

大T笔记-我的个人互联网创业和自由职业之路

关于我 我的百宝箱
大T笔记-专注个人互联网创业和自由职业