Невозможно сопоставить закодированную строку base64 с реализацией Restful в JAXRS

Я должен отправить img со стороны клиента (javascript) на реализацию Jaxrs на стороне сервера.

Сторона клиента:

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); 

Я могу отправить запрос в веб-службу, но не могу сопоставить, т. Е. Я не могу сопоставить строку, закодированную в base64, со строкой на стороне сервера. Как я могу это сделать ?

Спасибо!!


person user1188867    schedule 20.05.2012    source источник


Ответы (1)


Это работает?

@POST
@Path("/uploadImage")
@Consumes(MediaType.WILDCARD)
public Response upload(String image) {
    System.out.println(image);
    return Response.noContent().build();
}
person phatfingers    schedule 20.05.2012
comment
Большое спасибо, это работает как мечта. Есть ли какая-нибудь ссылка на эти MediaTypes? - person user1188867; 20.05.2012