1

在我的 Phonegap 项目中,我需要通过将图像转换为 base64 字符串来将图像存储到 sqlite。图像大小为 160kb。图像未插入。是因为尺寸吗?

var encodeImageUri = function(imageUri, callback) {
var c = document.createElement('canvas');
var ctx = c.getContext("2d");
var img = new Image();
img.onload = function() {
    c.width = this.width;
    c.height = this.height;
    ctx.drawImage(img, 0, 0);

    if(typeof callback === 'function'){
        var dataURL = c.toDataURL("image/jpeg");
        callback(dataURL.slice(22, dataURL.length));
    }
};
img.src = imageUri;

};

encodeImageUri('http://static.adzerk.net/Advertisers/030883e15a374ba397b57b8d4bf1033e.png', function(base64String)
                                  {

                                  populateBannerImage(base64String);

                                    });

在 populateBannerImage 中,我将 base64 插入到 db。

function populateBannerImage(imageData)

{

 db.transaction(function(tx) {

                tx.executeSql('INSERT INTO banners (id, name , banner_image_mobile, banner_image_mobile_ar, banner_image_tablet, banner_image_tablet_ar,banner_heading,banner_heading_ar, banner_title, banner_title_ar, url, url_ar, status, created_date, modified_date ) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)',[JSONData.banner_id, JSONData.banner_name,JSONData.banner_image_mobile,JSONData.banner_image_mobile_ar, imageData, JSONData.banner_image_tablet_ar,JSONData.banner_heading,JSONData.banner_heading_ar, JSONData.banner_title, JSONData.banner_title_ar, JSONData.url, JSONData.url, JSONData.status, JSONData.created_date, JSONData.modified_date]);

                });

}

ImageData 到数据库。我是新手。请帮我

4

0 回答 0