HTTP Status 400 - Required CommonsMultipartFile[] parameter 'XXX' is not present

最近项目开发过程当中,因为一直测试使用的是Google浏览器,使用Spring的CommonsMultipartFile上传文件,一直正常就没有在意,但是偶然换成IE(包括Edge)和世界之窗,突然出现如下问题


问题详细描述:文件上传的时候在未选择文件直接提交form的时候,谷歌浏览器正常,而IE、Edge、世界之窗浏览器会报出"HTTP Status 400 - Required CommonsMultipartFile[] parameter 'XXX' is not present"的问题,这里的问题就是在form当中存在file,而file没有选择文件的情况。

问题原因:问题主要原因是在使用Google浏览器上传的时候如果file为空Spring的controller层也会接收到一个CommonsMultipartFile[]的length为0的实例化的CommonsMultipartFile[],而在IE、Edge、世界之窗返回在Spring的Controller当中的CommonsMultipartFile[]接收到的是null值,如果方法中的参数:


@RequestParam("files") CommonsMultipartFile[] files
如果这个样设置要求files这个参数是不能为空的,因此就会抛出这个错误,因此需要修改成如下:

@RequestParam(value = "files",required = false) CommonsMultipartFile[] files
这个样子设置files可以为null,就不会抛出错误了
--------------------- 
作者:wocjy 
来源:CSDN 
原文:https://blog.csdn.net/wocjy/article/details/78949782 
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值