作者:fhuwiop | 来源:互联网 | 2023-09-02 10:42
通过表单传输文件到服务器,连入门级的程序员都知道添加属性enctypemultipartform-data,然而一旦如此,表单中其他非文件属性则无法被后端识别,准确而言是都被识别为文
通过表单传输文件到服务器,连入门级的程序员都知道添加属性enctype="multipart/form-data",然而一旦如此,表单中其他非文件属性则无法被后端识别,准确而言是都被识别为文件输入流了,不再被框架解析成一个个单值属性。
网上讨论这个天坑的帖子不多,正确有效的方法就更加罕见了。被此坑耽误一整晚后终于在几个社区角落找到能拼凑在一起解决问题的方法:
首先,在SpringMVC配置文件中加入multipartResolver,对mutipartFile进行特殊处理。
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" >
<property name="maxUploadSize" value="500000" />
bean>
然后,
在
pom.xml
中加入了
commons-io
和
commons-fileupload
依赖,把multipar输入流转化成标准的输入流,于是便能按照以前的方式正常解析所有表单数据了。