2016-04-20 6 views
0

私はSpring4 MVCを使用しており、他の入力フィールドと共にファイルをアップロードしようとしています。Spring4 MVCマルチパート

私は以下enctype="multipart/form-data"としてそれを宣言したばねXMLジャクソンコンバータ私の形態において

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

でマルチパートリゾルバを追加するコントローラで私の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){ 

あるIは@RequestParamを通して試みリクエストしても、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{ 

すべての値はnullです。

誰かが何か不足していることをお勧めしますか?

ありがとうございました

答えて

0

コントローラにパラメータ 'url'を指定しました。

@RequestParam MultipartFile url 

もしそうなら、私は、FORMDATAへのURLを追加

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

以下のようなあなたのAJAX呼び出しのURLをというパラメータがなければなりません($( '#のURL')。valを()){ oemManuals.append( 'url'、$( '#url')[0] .files [0]); } – user1762730

+0

ちょうど私はコンテンツの処分のデータを見ることができます。 – user1762730

+0

あなたのコントローラシグネチャの内容にないコンテンツには、実際のURLとともにパラメータ 'url'が必要です。 –

関連する問題