1

クライアント側(javascript)からサーバー側のJaxrs実装にimgを送信する必要があります。

クライアント側:

function sendRequest()
{
   var url = '<restservicepath>/uploadImage';
  $("body").append('<canvas id="theCanvas" style="display:none" width="300px"          height="300px"></canvas>');
  var canvas = document.getElementById('theCanvas');  
  var context = canvas.getContext('2d');
  var imageObj = new Image();
  imageObj.src = "myjpg.jpeg";  
  context.drawImage(imageObj, 0, 0, 300, 300);
  $.post(url, {'image':canvas.toDataURL("image/jpeg"), 'url':'caption'},     function(file){               
//Callback code
alert("done");
 });
}

そして、私が使用しているJAXRSのサーバー側では:

@POST
@Path("/uploadImage")
@Consumes("text/plain")
public Response upload(String image); 

リクエストを Web サービスに送信できますが、マップできません。つまり、base64 でエンコードされた文字列をサーバー側の文字列にマップできません。どうやってやるの ?

ありがとう!!

4

1 に答える 1

0

これは機能しますか?

@POST
@Path("/uploadImage")
@Consumes(MediaType.WILDCARD)
public Response upload(String image) {
    System.out.println(image);
    return Response.noContent().build();
}
于 2012-05-20T14:26:12.413 に答える