【发布时间】:2017-08-19 01:17:01
【问题描述】:
我正在尝试允许用户通过小部件保存图像。我正在使用以下功能:
buildfire.services.camera.getPicture({},
function (err, imageData) {
if (imageData) {
document.getElementById("imgPic").src = imageData;
} else {
console.log("no image selected: " + err);
}
}
);
imageData 会生成来自用户手机的本地链接,例如:
file:///storage/emulated/0/Android/data/com.buildfire.previewer/cache/1503099575571.jpg
如果我通过调整器 (buildfire.imageLib.resizeImage) 运行它,我会得到这样的结果:
http://czi3m2qn.cloudimg.io/s/width/1600/file:///storage/emulated/0/Android/data/com.buildfire.previewer/cache/1503104990327.jpg
不确定此链接是否安全,或者以后是否会被垃圾收集..
如何将相机拍摄的实际图像保存到 buildfire 的数据库中?
编辑:
正如您所建议的,我正在使用 html2canvas 来保存我的图像。我将本地图像加载到 DOM,在尝试保存之前,我会像这样处理它:
onrendered: canvas => {
const img = canvas.toDataURL();
imageList.push(img);
}
我的图像变成了画布,然后我运行 toDataURL()。但是当我尝试保存这个很长的图像数据字符串时,它并没有保存。
在我将数据保存到 buildfire 之前,您可以在第一个粉红色框中看到我的数据。在第二个粉红色框中,您可以看到我的 buildfire 查询的结果。我没有收到错误消息,但 图片 的数据没有保存。为了验证数据是否已成功保存,蓝绿色框相互匹配。字符串似乎太大而无法保存?
【问题讨论】:
-
只是为了清楚。处理完图像并将其转换为 base64 后,您希望将其发送到 BuildFire UserData 或 PublicData 进行保存吗?
-
@Daniel_Madain publicData。 buildfire.publicData.update() 是我使用的确切
标签: buildfire