【问题】使用Spring mvc上传文件时遇到的问题(CommonsMultipartResolver的配置)

本文介绍了在SpringMVC框架中使用swfupload组件进行文件上传时遇到的问题及解决办法。主要讨论了如何通过配置multipart解析器来正确处理上传请求。
框架:SPRING MVC
上传控件:swfupload

后台部分代码:

@RequestMapping(value = "upload")
private String upload(HttpServletRequest request, HttpServletResponse response) throws Exception{
//执行下面一句报错
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("Filedata");
//略
}


[color=red][b]在执行方法的第一句代码时抛错:org.apache.catalina.connector.RequestFacade cannot be cast to org.springframework.web.multipart.MultipartHttpServletRequest[/b][/color]

查了下资料发现,在spring配置文件里少了对multipart解析器的配置,如下:

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


问题解决。

------------------------
解释:
MultipartHttpServletRequest是Spring mvc提供的一个上传组件,可以在配置文件中配置,也可以用注解实现。
之所以出现上述问题,是因为在没有配置bean的情况下,request未被CommonsMultipartResolver处理。

-----------------
另提:上传时记得加common-fileupload、io的jar包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值