Springmvc图片上传方法,错误:Expected MultipartHttpServletRequest: is a MultipartResolver configured?

使用springmvc上传文件时一般流程为:

1.在 表单提交方式:post

2.表单编码格式:multipart/form-data

例如:

<form id="itemForm" action="${pageContext.request.contextPath }/updateItems.action"
method="post" enctype="multipart/form-data">

3.上传文件名一controller对应方法MultipartFile参数名相同

例如:

<input type="file"  name="picture"/>

public ModelAndView upload(MultipartFile picture)

4.配置图片解析器

如果form表单上添加enctype="multipart/form-data",而springmvc.xml中没有配置multipart解析器,此时其它类型参数(pojo,基本类型)都不能绑定成功。

所以,主要只要form中有enctype="multipart/form-data"配置,必须要springmvc.xml中配置multipart解析器

还有一点容易被忽视的小问题就是,图片解析器的名字必须是multipartResolver负责会有图片解析器未找到错误!

例如:

如果这样配置上传时图片是就会报出:Expected MultipartHttpServletRequest: is a MultipartResolver configured?异常

<bean id="resolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize">
            <value>5242880</value>
        </property>
 </bean>

解决方式也很简单只要将配置bean名字改为multipartResolver就OK了

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize">
            <value>5242880</value>
        </property>
  </bean>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值