今天用springmvc 上传文件的时候 报错
org.apache.catalina.connector.RequestFacade cannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest
网上查找原因 说的有如下几种:
1.表单form 上没有 enctype="multipart/form-data" 这个属性
2.配置文件:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" > </bean>
配置中未配置这一段,或者id 不是multipartResolver
以上的我都是对的 结果还是报相同的错。纠结了好久才找到问题,form 表单未写提交方式,method="post" 默认是get 提交,get 提交就会转换出错。
<form action="${webRoot}/ts/sb" method="post" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit" value="tij"/> </form>
controller
@Controller @RequestMapping("ts") public class TestExcelController { @RequestMapping("sb") public String addComm(ModelMap model,HttpServletRequest request){ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile file = multipartRequest.getFile("file"); return ""; }