使用DataURL字符串将图像上载到picasa

Uploading an image to picasa using a DataURL String

本文关键字:上载 picasa 图像 DataURL 字符串 使用      更新时间:2023-11-26

我正在使用HTML5创建一个完全基于web的"相机"应用程序。(无电话间隙)

我现在有一个数据URL,我获得如下

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不是图像。"异常。(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……"

在将字符串传递给MediaBytearraySource之前,需要对其进行解码。

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

希望这能帮助到别人。