¿Cómo usar el URI de datos de la imagen como un InputStream?

He recuperado el uri de datos base64 de un lienzo html5. Dentro de mi servlet, me gustaría decodificar el uri de datos y usarlo como un flujo de entrada como se muestra en "xxx" a continuación. La siguiente codificación es para que publique la imagen en el lienzo html5 en mi cuenta de Facebook. Estoy usando restfb.

FacebookType publishPhotoResponse = facebookClient.publish("me/photos", FacebookType.class,
BinaryAttachment.with("test.jpeg", getClass().getResourceAsStream("xxx")),
Parameter.with("message", "Test"));

¿Cómo puedo lograr eso? Gracias.

Actualizado Acercándose pero aun no funciona!

En mi jsp:

var d = document.getElementById('img').src;
window.location.href = "upload?src=" + d;

En mi servlet:

String d = req.getParameter("src");
String head = "data:image/jpeg;base64,";
String base64 = d.substring(head.length()-1);

byte[] buf = DatatypeConverter.parseBase64Binary(base64);
ByteArrayInputStream is = new ByteArrayInputStream(buf);

FacebookType publishPhotoResponse = facebookClient.publish("me/photos", FacebookType.class,
BinaryAttachment.with("test.jpeg", is),
Parameter.with("message", "Test"));

¿Hay algún error en mi codificación, ya que parece tener un error en algún lugar dentro del servlet? No puedo ver los errores ya que se está ejecutando en un servidor.

Respuestas a la pregunta(1)

Su respuesta a la pregunta