我正在使用HTML5创建一个完全基于Web的“相机”应用程序。 (没有phonegap)
我现在有一个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 不是图像。“例外。(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 ....”
答案 0 :(得分:0)
需要在将字符串传递给MediaBytearraySource之前对其进行解码。
String imgStrBase64 = req.getParameter("photo").split(",")[1];
byte[] dataBytes= Base64.decode(imgStrBase64);
MediaByteArraySource imageByteArr = new MediaByteArraySource(dataBytes, "image/jpeg");
希望这有助于某人。