这是因为web container(比如tomcat)只有在开启文件上传功能时才会去解析multipart/form-data的body体
所以在没有开启文件上传功能时,multipart/form-data body中的普通参数也是无法读取的。
CSE/ServiceComb中默认不开启文件上传功能,因为框架无法假设临时文件保存目录,最大文件大小限制等等参数,而这些参数的不当设置极可能带来不好的后果,需要由业务自行设置,具体配置项参考:https://docs.servicecomb.io/java-chassis/zh_CN/general-development/file-upload.html
注:
使用transport-rest-vertx则情况稍有不同,当content-type为multipart/form-data,且没开启文件上传功能时:
如果实际没有上传文件,只是一些普通参数,则可以正常读取这些参数
如果实际有上传文件,则会抛异常提示不支持文件上传