1

我正在使用 HTML5 创建一个完全基于 Web 的“相机”应用程序。(没有电话间隙)

我现在有一个 DataURL,如下所示

canvas.getContext("2d").drawImage(video, 0, 0, 640, 480, 0, 0, 640, 480);
var img = canvas.toDataURL("image/png");

将其作为字符串发送到服务器端后,我可以将其上传到 picasa 吗?

以下代码不起作用,并给了我一个“com.google.gdata.util.InvalidEntryException:OK Not an image”。例外。(imgStr 是上面的 DataURL)

MediaByteArraySource imageByteArr = new MediaByteArraySource(imgStr.getBytes("UTF-16LE"), "image/jpeg");
myPhoto.setMediaSource(imageByteArr);
PhotoEntry returnedPhoto = client.insert(imagePostUrl, myPhoto);

提前致谢

编辑:字符串看起来像这样“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4Xuy92ZI....”

4

1 回答 1

0

需要对字符串进行解码,然后才能将其传递给 MediaBytearraySource。

String imgStrBase64 = req.getParameter("photo").split(",")[1];          
byte[] dataBytes= Base64.decode(imgStrBase64);
MediaByteArraySource imageByteArr = new MediaByteArraySource(dataBytes, "image/jpeg");

希望这可以帮助某人。

于 2012-07-19T05:44:01.580 回答