【Java异常】org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet requ

本文目录

一、背景描述

 二、异常分析

三、解决方案

方案一:重启本项目

方案二:修改配置文件(application.properties或者.yml配置文件)

方案三:添加项目启动参数


一、背景描述

CMS后台管理系统(springboot项目)在本地测试上传视频文件时,控制台报错信息如下:

org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.1428942566812653608.8090/work/Tomcat/localhost/ROOT] is not valid

 二、异常分析

从上述报错信息来看,翻译过来内容是指:临时上传位置无效。这个临时位置是哪里来的,为什么会有临时位置这一说法。

1、对于HTTP POST请求来说,它需要一个临时目录来存储POST数据;

2、因为该目录是放到temp文件夹下的一个临时目录,对于一些操作系统来讲,会经常删除临时内容的,所以这个内容就不存在了,导致上述报错信息说临时上传位置无效的结果。(我电脑上装360安全卫士了,会经常提示我,电脑垃圾太多,让我清理,所以会经常清理电脑垃圾,包括缓存和临时文件都会清理的)

三、解决方案

以下是汇总的几种解决办法,根据个人喜欢可用不同的方法。

方案一:重启本项目

我是懒省事儿,重启本项目,然后就解决这个问题了。

方案二:修改配置文件(application.properties或者.yml配置文件)

修改完配置之后,重启项目

方式一,适用于一些版本旧的项目,目前我知道的是spring boot 2.0.1以下版本

spring.http.multipart.location=/data/upload_tmp

方式二:适用于一些新版本的项目,通常是spring boot 2.0.1以上的版本

spring.servlet.multipart.location=/data/upload_tmp

方案三:添加项目启动参数

-java.tmp.dir=/path/to/application/temp/

重启项目

 

完结!

猜你喜欢

转载自blog.csdn.net/weixin_44299027/article/details/107100903