Java 如何使用图像中的数据URI作为输入流?

Java 如何使用图像中的数据URI作为输入流?,java,facebook,image,canvas,base64,Java,Facebook,Image,Canvas,Base64,我已从html5画布检索到base64数据uri。在我的servlet中,我想解码数据uri并将其用作输入流,如下面的“xxx”所示。下面的代码是让我将html5画布中的图像发布到我的facebook帐户中。我正在使用restfb FacebookType publishPhotoResponse = facebookClient.publish("me/photos", FacebookType.class, BinaryAttachment.with("test.jpeg", getClas

我已从html5画布检索到base64数据uri。在我的servlet中,我想解码数据uri并将其用作输入流,如下面的“xxx”所示。下面的代码是让我将html5画布中的图像发布到我的facebook帐户中。我正在使用restfb

FacebookType publishPhotoResponse = facebookClient.publish("me/photos", FacebookType.class,
BinaryAttachment.with("test.jpeg", getClass().getResourceAsStream("xxx")),
Parameter.with("message", "Test"));
我怎样才能做到这一点?谢谢

已更新距离越来越近,但仍不起作用

在我的jsp中:

var d = document.getElementById('img').src;
window.location.href = "upload?src=" + d;
在我的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"));

在我的代码中是否有任何错误,因为它似乎在servlet中的某个地方遇到了错误。我无法查看错误,因为它正在服务器上运行。

这需要的几乎与此完全相反!或者至少是相反的情况。它将
Image
应答为base 64
String
,而这个用例是
String
应答为
Image

查看以获取
字符串的
字节[]


使用
字节[]
构造一个。

我添加了以下编码。。。我用对了吗<代码>字节[]buf=DatatypeConverter.parseBase64Binary(base64)
ByteArrayInputStream is=新的ByteArrayInputStream(buf)嗨,为了便于阅读,我在我的帖子上更新了它,有人能帮我检查一下吗?谢谢。上面的编码没有问题,问题在于我的查询字符串,谢谢你的帮助,干杯。好的,我想问题可能在于从jsp到我的servlet的查询字符串。在查询字符串中设置base64之前,是否需要先对其进行编码?我曾尝试使用在线转换器将我的base64转换为图像,它显示了良好的图像。我设法解决了它,确实是我的查询字符串的问题。我已经创建了一个隐藏元素,在提交到servlet之前存储数据。谢谢你的指导,这很有帮助!干杯