0

サンプル休憩サービスは以下の通りです:

@RequestMapping(value = "/image/upload", method = RequestMethod.POST)
public void uploadImage(@RequestParam("image") MultipartFile fileObj)
        throws Exception 
{
  System.out.print("File Name:"+fileObj.getOriginalFileName()); 

}

そして、私は次のようなajaxコードを書きました:そして、私の受け入れアプリケーション形式はJsonです。これを呼び出すと、400エラーが発生します

            $('#user_click').click(function(){
    var data = { 
              image:$("#file_1").val
                };
    $.ajax({
        url : "http://localhost:8080/MyProject/image/upload",
        type : "POST",
        contentType : false,
        crossDomain : true,
        data : JSON.stringify(data),
        dataType : 'json',
        async : true,
        success : function(result) {
            alert('The Selected Items uploaded');
        },
        error: function(message){
          alert("Error:"+JSON.stringify(message));  
        }
       });

このajaxコードは正しいですか?

4

1 に答える 1

0

いいえ、ajax リクエストはファイル データを転送しないため、機能しません。

解決策は

  1. jquery-formなどのファイル アップロード プラグインを使用する

元:

$('#myForm').ajaxSubmit({
    url : 'http://localhost:8080/MyProject/image/upload',
    type : "POST",
    dataType : "json",
    success : function(response) {

    },
    error : function(response) {

    }
});
  1. html5 FormDataを使用します(残念ながら IE はサポートされていません) 。
于 2013-04-01T11:01:55.893 に答える