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

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

一、背景描述

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/

重启项目

 

完结!


相关文章
|
11天前
|
网络协议 Java 编译器
Java常见异常及对应解决办法
Java常见异常及对应解决办法
29 10
|
4天前
|
存储 Java 程序员
|
10天前
|
Java 编译器 程序员
Java面试题-异常
Java面试题-异常
25 6
|
8天前
Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
12 3
|
11天前
|
网络协议 Java 数据库连接
13 Java异常(异常过程解析、throw、throws、try-catch关键字)
13 Java异常(异常过程解析、throw、throws、try-catch关键字)
32 2
|
16天前
|
存储 Java 编译器
Java内存区域与内存溢出异常 - 运行时数据区
【8月更文挑战第2天】Java运行时数据区包括:1) 程序计数器:记录线程执行字节码的行号,线程私有;2) Java虚拟机栈:描述方法执行的内存模型,线程私有,深度过大抛出`StackOverflowError`;3) 本地方法栈:服务于Native方法,线程私有;4) Java堆:所有线程共享,对象实例在此分配内存;5) 方法区:存储类信息、常量等数据;6) 运行时常量池:方法区的一部分,存放字面量和符号引用。不当使用如无限创建对象或过度递归调用会导致各种内存溢出错误。
|
4天前
|
开发框架 .NET API
在 ASP.NET Core Web API 中使用异常筛选器捕获和统一处理异常
在 ASP.NET Core Web API 中使用异常筛选器捕获和统一处理异常
|
1月前
|
Java
Java进阶之异常捕捉处理和错误处理
【7月更文挑战第9天】Java异常处理确保程序在遇到错误时不会崩溃。关键机制包括try-catch-finally,用于捕获(try)、处理(catch)和清理(finally)异常。异常分为检查型(需编译时处理,如IOException)和非检查型(如NullPointerException)。throw用于抛出异常,throws用于声明方法可能抛出的异常。Error表示系统级错误,不可恢复;Exception是可处理的异常,包括检查型和非检查型。自定义异常通过继承Exception实现。Java 7引入try-with-resources自动关闭资源。
21 1
|
1月前
|
Java 编译器
Java运行时异常和非运行时异常
Java运行时异常和非运行时异常
|
1月前
|
Java
Java进阶之异常捕捉处理和错误处理
Java进阶之异常捕捉处理和错误处理
13 0

热门文章

最新文章