我想将httpServletRequest
投射到multipartHttpServletRequest
。当我尝试这个时,会发生ClassCastException
。
MultipartHttpServletRequest request = (MultipartHttpServletRequest)req;
仅在AJAX调用时发生此错误,对于表单提交,它不会发生。
我已经完成了以下所有必要步骤:
commons-fileupload.jar
enctype="multipart/form-data"
multiparResolver
bean。 请帮忙。
答案 0 :(得分:2)
除了
<form method=<method> action=<url> enctype="multipart/form-data"></form>
你必须
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
在弹簧配置文件中。
答案 1 :(得分:1)
是的,通过Ajax你无法上传文件内容,因此请求没有任何文件内容的spring无法准备MultipartHttpServletRequest,这会导致ClassCastException
。然后你必须使用html中使用iframe
的技术上传文件,同时提供ajax
样式上传。
答案 2 :(得分:0)
要获取MultipartHttpServletRequest,请尝试此
MultipartHttpServletRequest multiPartRequest = new DefaultMultipartHttpServletRequest(req);