2017-05-18 9 views
1

私はページ "imageTest"とボタンの "onclickイベント"ボタンで関数 "foo()"を呼び出す残りのapiのコードに取り組んでいますイメージとしてjsonに画像を入れる方法

  @RequestMapping(value = "/imageUpload2/", method = RequestMethod.POST, produces = "application/json") 
public ResponseEntity profilePicTest(@RequestBody String data) { 
    System.out.println("imageString length : " + data.length()); 
    System.out.println("imageUpload : " + data); 

     return new ResponseEntity(null, HttpStatus.OK); 

javascriptの一部

function foo() { 
    alert('uploading image to imageupload2 url');   
    var profpic = document.getElementById("profpic"); 
    alert('uploading image1122334455') 
    jQuery.ajax({ 
     url: 'http://localhost:8090/EventApp/imageUpload2/', 
     type: 'POST', 
     data: { img: profpic }, 
     success: function(response) { 
      // response 
      } 
    }); alert('uploading done') 
    } 

誰もが私はrestcontrollerはバイトに変換、さらにその画像の文字列を受け入れることができた(BASE64のようなエンコーディングで)のjavascriptで画像をアップロードすることができなかった部分で私を助けることができます[ ]配列に挿入され、オラクルdbブロブの列とその逆に返信する

------問題の部分---- イメージはjsonで文字列としてアップロードされていません 私を助けてください...!

答えて

1

dataの値は、入力からのファイルオブジェクトにする必要があります。

HTML

<input type="file" id="profpic" /> 

JS

var file = $("#profpic")[0].files[0]; 

jQuery.ajax({ 
    url: 'http://localhost:8090/EventApp/imageUpload2/', 
    type: 'POST', 
    data: file, 
    success: function(response) { 
    // response 
    } 
}); 

:これは、多くの古いブラウザでは動作しません。 IE10 +は問題ありませんが、それより古いものは別の方法が必要です。

関連する問題