我创建了一个 Phonegap 项目,按照教程使用相机捕获图片http://mobile.tutsplus.com/tutorials/phonegap/phonegap-from-scratch-camera-exporting/。现在我想将图像作为 blob 保存到 sqlite 数据库中。保存后还可以检索并显示图像。请建议。
请按照以下步骤操作
1.使用phonegap Camera API 将您的图片获取为base64
2.现在将 Base 64 转换为 Blob 对象
function convertDataURIToBlob(dataURI, mimetype) {
var BASE64_MARKER= ';base64,';
var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
var base64 = dataURI.substring(base64Index);
var raw = window.atob(base64);
var rawLength = raw.length;
var uInt8Array = new Uint8Array(rawLength);
for (var i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
var bb = new BlobBuilder();
bb.append(uInt8Array.buffer);
return bb.getBlob(mimetype);
}
不过,您应该从以下位置提取它,而不是传递 mimetype
数据 url 并将其与 getBlob() 一起使用。
OR
用这个plugin
3.现在您可以使用phonegap Storage API 将图像保存到Sqlite,您所需的列数据类型是字符串。
4.使用 Phone gap Storage API 从 Sqlite 获取 blob 对象
5.现在使用 Java 脚本将该对象表示为 HTMl 标记。这里
HTML 5 的示例 blob 对象
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Blob</title>
<script type="text/javascript">
(function () {
window.URL = window.URL || window.webkitURL;
function contentLoaded() {
var blob = new Blob(['alert("hello")'], { type: 'text/javascript' });
var script = document.createElement('script');
script.setAttribute('src', window.URL.createObjectURL(blob));
document.body.appendChild(script);
}
window.addEventListener('DOMContentLoaded', contentLoaded, false);
} ());
</script>
</head>
<body>
<div id="container">
</div>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)