Springboot Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException

Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException: Required request part ‘file1’ is not present]

浏览器控制台进行的解析
Springboot Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException_第1张图片
IDEA给的反馈
在这里插入图片描述
这个错误主要主要是指 后端通过@RequestParam(“file1”) 注解标注的MultipartFile参数并没有获取到文件 参数为空导致的 也就是 你在前端中对应的 文件选择标记中的name字段的值是否和你 @RequestParam(“file1”) 中file同名
我遇到的问题就是 注解中的字段值 和 input 标签中 name字段值不一致造成的
Springboot Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException_第2张图片
Springboot Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException_第3张图片
如果 form中 没有添加下面这两个字段也会报这个错

method = "post" enctype="multipart/form-data"

如果 这两处都没问题 就检查一下 你的properties中是否对multipartFile的大小进行配置
在这里插入图片描述

spring.servlet.multipart.max-request-size=52128800
//50*1024*1024

Springboot Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException_第4张图片
点击查看对maxRequestSize配置的源码发现 参数类型是一个DataSize类
在这里插入图片描述
发现 是调用的 DataSize类中的 ofMegabytes方法对maxRequestSize进行赋值

Springboot Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException_第5张图片
查看 ofMegabytes的代码可以看出 参数类型是long 由此可知 maxRequestSize 就是一个 lang 因此 我们进行配置的时候 要注意需要填写一个lang型变量取值范围内的准确值 不是String 不能 加单位 系统会根据参数自动计算出大小
注意到 byte 没去找文档 就大胆设想了一下他的默认单位应该是kb
因此 赋值(5010241024) 使这个上限足够大 但进行配置 程序不会进行计算 就需要自行计算出来准确值

你可能感兴趣的:(Spring,boot,报错解析与解答)