繁体   English   中英

Spring4 MVC的组成部分

[英]Spring4 MVC multiparts

我正在使用Spring4 MVC并尝试上传文件以及其他一些输入字段。

我在spring xml和jackson转换器中添加了多部分解析器

<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
   <beans:property name="maxUploadSize" value="250000"/>
   <beans:property name="defaultEncoding" value="utf8" />
</beans:bean>

<beans:bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
  <beans:property name="messageConverters" >
    <beans:list>
       <beans:ref bean="jacksonMessageConverter" />
    </beans:list>
  </beans:property>
</beans:bean>

在我的表单中,我已将其声明为enctype="multipart/form-data" ,下面是我的ajax调用

var oemManuals = new FormData();
oemManuals.append("name",$( "#name" ).val());
oemManuals.append("description",$( "#description" ).val());

 if($('#url').val()){
  oemManuals.append( 'url', $( '#url' )[0].files[0] );
}

$.ajax({  
    type: "POST",  
    url: "${pageContext.request.contextPath }/uploadManuals", 
    data:  oemManuals,
    processData: false,
    contentType: false,
    cache: false,
    dataType: "json",

    success: function(data){  

在我的控制器中,我尝试通过@RequestParam和request,但获得required paramerter name is null 虽然我看到参数存在

@RequestMapping(value="/uploadManuals", method = RequestMethod.POST)
public @ResponseBody List<OEMManuals> uploadManuals(HttpServletRequest request, 
                                                    @RequestParam MultipartFile url, 
                                                    HttpSession session) throws IOException{

所有值均为空。

有人可以建议我是否缺少什么。

谢谢

您已在控制器中指定了参数“ url”。

@RequestParam MultipartFile url

因此,在ajax调用中必须有一个名为url的参数,如下所示

 url: "${pageContext.request.contextPath }/uploadManuals?url=value", 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM