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