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



    
        Apache Tomcat/9.0.0.M17 - Error report
         
    
    
        

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

type Status report

message Required CommonsMultipartFile[] parameter 'files' is not present

description The request sent by the client was syntactically incorrect.


Apache Tomcat/9.0.0.M17

问题详细描述:文件上传的时候在未选择文件直接提交form的时候,报出"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值,如果方法中的参数:

解决方案:

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

@PostMapping({"affairsMod.do", "affairsWrite.do"})
public JsonBaseResult affairsWriteAndMod(@RequestParam(value = "files",required = false) CommonsMultipartFile[] files) {}
     

 

你可能感兴趣的:(Java,SpringBoot)