Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将捕获的图片作为blob保存到SQLite中,并在Phonegap中检索回来?_Javascript_Html_Cordova - Fatal编程技术网

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

Javascript 如何将捕获的图片作为blob保存到SQLite中,并在Phonegap中检索回来?,javascript,html,cordova,Javascript,Html,Cordova,我创建了一个Phonegap项目,该项目使用相机捕捉图片。在教程之后,我希望将图像作为blob保存到sqlite数据库中。保存后,还可以检索和显示图像。请建议。请按照以下步骤操作 1.使用phone gap Camera API将您的照片作为base 64拍摄 2.现在将Base 64转换为Blob对象 function convertDataURIToBlob(dataURI, mimetype) { var BASE64_MARKER= ';base64,'; var bas

我创建了一个Phonegap项目,该项目使用相机捕捉图片。在教程之后,我希望将图像作为blob保存到sqlite数据库中。保存后,还可以检索和显示图像。请建议。

请按照以下步骤操作 1.使用phone gap Camera API将您的照片作为base 64拍摄
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); 
}
函数convertDataURIToBlob(dataURI,mimetype){
var BASE64_MARKER=';BASE64';
var base64Index=dataURI.indexOf(BASE64\u MARKER)+BASE64\u MARKER.length;
var base64=dataURI.substring(base64Index);
var raw=window.atob(base64);
var rawLength=raw.length;
var uInt8Array=新的uInt8Array(rawLength);
对于(变量i=0;i

但是,您应该从中提取mimetype,而不是传入mimetype 数据url,并将其与getBlob()一起使用。

用这个
3。现在,您可以使用phonegap存储API将图像保存到Sqlite。您需要的列数据类型是字符串。
4.使用Phone gap存储API从Sqlite获取blob对象
5.现在使用Java脚本将此对象表示为HTMl标记 HTML5的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>

斑点
(函数(){
window.URL=window.URL | | window.webkitURL;
函数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(脚本);
}    
addEventListener('DOMContentLoaded',contentLoaded,false);
} ());    

Hi Priya您的问题解决了吗?@Priya:您有这个场景的工作代码吗?如何获取mimetype?