如何将捕获的图片作为 blob 保存到 SQLite 中并在 Phonegap 中检索回来?

2023-12-02

我创建了一个 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(使用前将#替换为@)

如何将捕获的图片作为 blob 保存到 SQLite 中并在 Phonegap 中检索回来? 的相关文章

随机推荐

  • 接收POST时出现404错误

    我需要使用 php 将 json POST 从 android 发送到 Web 服务器 我尝试了很多代码但不起作用 现在我尝试使用 Postman 进行简单的 POST 无论是否发送数据 并且总是收到404错误 如果我使用 GET 发送数据
  • 为什么多个类选择器不能与removeClass一起使用

    如何在一个声明中使用多个类来完成这项工作 div class ddd back7 d div div class fff back7 f div div class ggg back7 g div ddd fff ggg removeCla
  • 返回重复字母最多的第一个单词

    这是 coderbyte 的 Easy Set 中的一个问题 很多人已经问过这个问题 但我真的很好奇我的特定解决方案出了什么问题 我知道这是一个非常愚蠢且低效的解决方案 原问题 让函数 LetterCountI str 接受传递的 str
  • 从多个接口继承的方法上的 List 返回类型中的 Java 泛型

    我目前在一家拥有多种模块的公司工作 在该公司中 如果您想提供模块内部结构 您可以通过 java 接口提供它 该接口隐藏实际的实现类型并为请求模块提供接口 现在我希望有一个提供程序能够为多个模块提供数据 这些模块公开实际内部数据的不同字段或方
  • 逐行乘以数据框

    输入文件 df1 lt data frame row names c w x y z A c 0 0 0 0 B c 0 1 0 0 C c 1 0 1 0 D c 1 1 1 1 A B C D w 0 0 1 1 x 0 1 0 1 y
  • MVC 失去焦点时需要进行字段验证

    ASP NET MVC 必需 验证仅在以下条件之一触发 1 表格提交2 按 Tab 键进入字段 gt 输入一些文本 gt Tab 退出 gt Tab 返回字段 gt 删除文本 gt Tab 退出 我想以这种方式触发 if 按 T ab 键进
  • 温斯顿记录器不写入文件

    我想用winston登录node用于将错误记录到文件的应用程序 但winston不写入文件 var logger new winston Logger transports new winston transports Console ne
  • 有界通配符和类型参数有什么区别?

    之间有区别吗
  • 使用 JavaScript/ES6 的 for 循环创建可通过 Promise.all 读取的 fetch Promise 数组?

    因此 为了不让任何人对背景故事感到厌烦 我需要从许多 API 访问数据才能运行我的脚本 在执行脚本之前需要加载所有数据 我通常很乐意这样做 我只需声明一些获取请求 编写 Promise all 然后继续执行该函数 然而 我遇到了某个 API
  • 如何使用网站和php运行Docker容器?

    我有一个登陆页面和一个用于发送电子邮件 反馈表 的 PHP 文件 我想使用 Docker 测试这个表单 我写了这个 Dockerfile FROM php 7 4 cli COPY usr src app CMD php mail cont
  • 使用 get() 从卸载的包中调用函数而不使用库

    我想通过将函数名称存储在列表中来从卸载的包中调用函数 通常我只会使用 library shiny pagelist lt list type p object with the function name will be loaded fr
  • jQuery 中滚动条聚焦时如何禁用可拖动 div

    我有一个带有侧滚动条的 jQuery 可拖动容器 div 当我上下滚动时 该滚动条不应该是可拖动的 infotext 是包含文本的内部 div 包含在 infobody 中 设置为 Overflow auto 我需要一种方法来在选择滚动条时
  • MySQL 在逗号列表中搜索[重复]

    这个问题在这里已经有答案了 我有一个 MySQL 字段 其中引用了另一个表 其中 id 保存为逗号分隔列表 例如 12 13 14 16 代表另一个表中的值 我知道这是非常糟糕和错误的 但这来自上面 我对此无能为力 现在的问题是我想使用如下
  • 与其他浏览器相比,IE 中的页面加载速度非常慢

    当我加载我工作的网站的首页在 IE 中 完全加载大约需要 7 或 8 秒 也就是说 Waiting for and x items remaining 消失并变为 Done 完全相同的页面在 Firefox 和 Google Chrome
  • C++ 类参考

    来自 Delphi 我习惯于使用类引用 元类 如下所示 type TClass class of TForm var x TClass f TForm begin x TForm f x Create f ShowModal f Free
  • 如何注入“Broken pipeline”错误?

    我正在运行一个使用 TCP 套接字的网络程序测试 为了验证错误修复 我需要在套接字层重现 损坏的管道 错误 但我不知道如何实现 任何想法 多谢 管道损坏 意味着您已写入已被对等方关闭的连接 因此 让对等方关闭连接
  • 如何将 Shadertoy 代码实现到 Three.js 中 - 澄清细节

    所以这是之前的一个问题 如何在 Three js 中实现 ShaderToy 着色器 尝试将上面链接中的步骤实施到此代码中 但未成功 三 js blob master examples webgl shader html 所以我替换了原始的
  • 目录属性和子目录

    The CMake 手册set directory properties claims 设置当前目录和子目录的属性 对我来说 这表明父目录中设置的属性也应该继承到所有子目录 但事实似乎并非如此 考虑 CMakeLists txt cmake
  • 如何使用lodash将两个数组合并为一个对象

    我正在寻找做到这一点的最佳方法 我有两个数组 key 1 2 3 value value1 value2 value3 我想要的最终结果是一个地图数组 key 1 value value1 key 2 value value2 key 3
  • 如何将捕获的图片作为 blob 保存到 SQLite 中并在 Phonegap 中检索回来?

    我创建了一个 Phonegap 项目 按照教程使用相机捕获图片http mobile tutsplus com tutorials phonegap phonegap from scratch camera exporting 现在我想将图