2012-01-30 11 views
0

私はAjax uploadプラグインを使用してAjaxでファイルをアップロードしています。そのうまくいっているファイルが正常にアップロードされました。onCompleteのイベントにコンテンツにアクセスすることもできます。アップロードされたファイルのデータベースIDを返したいのですが、私の春のコントローラからデータベースIDをonCompleteに送信できますか?
はここAjaxファイルアップロードで値を返す方法

new Ajax_upload('#clickToUpload', { 
     action: '/portal/request/MRNFile/upload', 
     allowedExtensions: ['csv','jpeg'], 
     onComplete : function(file){ 
      $('#progress').text('Uploaded ' + file + '. '); 
        //how to access database id here 
     }  
    }); 

コントローラ

@RequestMapping(value = "/upload", method = RequestMethod.POST) 
    public Integer upload(@RequestParam("userfile") MultipartFile file) { 
    // This will save file to database and will return its id 
     return id; 
    } 

おかげで私のJSです!

答えて

1

JSONObject json = new JSONObject(); 
json.put("id", database_id); 
return json; 

以下のように戻りJSONオブジェクトにあなたが持っている機能とonCompleteの変更:onCompleteのに機能(ファイル)機能(ファイル、データを)

あなたはdata.id(JSONオブジェクトでキー名)

として、IDにアクセスすることができます
2

レンダリングby echoまたはサーバー側のファイルIDのrespresantationによって、JS内のfile varに戻ってきます。

あなたがコンテンツとIDの両方を返したい場合は、それはあなたがPHPでない場合は、ただでJSONエンコードされた配列を返す

file = JSON.parse(file);file.contentfile.idによって

echo json_encode(array('content' => 'content', 'id' => 'yourId')); 

とJSのアクセスでの使用2つのキー - idcontent。代わりにアップロード(コントローラ)にIDを返す

関連する問題