簡體   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