Javascript Cordova SQLite保存BLOB
我对Cordova SQLite插件有问题 如何将BLOB图像保存到SQLite 我在JS中有BLOB对象:Javascript Cordova SQLite保存BLOB,javascript,sqlite,cordova,blob,ionic,Javascript,Sqlite,Cordova,Blob,Ionic,我对Cordova SQLite插件有问题 如何将BLOB图像保存到SQLite 我在JS中有BLOB对象: Blob:{ size: 96874 type: "image/jpeg" __proto__: Blob length: 1} 我试图拯救它 INSERT INTO images (img) VALUES (?); 当我试图得到这个图像时: SELECT img FROM images 我得到这个字符串: img: "{"type":"image\/jpeg","size":96
Blob:{
size: 96874
type: "image/jpeg"
__proto__: Blob
length: 1}
我试图拯救它
INSERT INTO images (img) VALUES (?);
当我试图得到这个图像时:
SELECT img FROM images
我得到这个字符串:
img: "{"type":"image\/jpeg","size":96874}"
如何将其再次转换为BLOB
我还尝试在base64中保存图像,但我无法将大图像保存到SQLite,因为base64字符串非常大。(它适用于小图像)
请帮助我,对不起我的英语。您可以使用和函数在SQL和JavaScript之间的接口上将blob值作为十六进制字符串处理,这很好。您的图像有多大?我已经建立了一个应用程序,将图像保存到应用程序数据库中,请参见此。我和一位顾客在一起。
您还可以在中找到该应用。您无法将JavaScript Blob对象保存到SQLite插件。它不支持Blob格式。是的,我知道它有一个
BLOB
类型,但令人困惑的是,它不是同一件事
WebSQL/SQLite插件确实支持二进制字符串作为blob的替代。但是,您可能会遇到问题,因为在iOS和Android()上的实现中都存在许多bug
在PockDB中,我们解决了这些问题,因此附件API为您抽象了所有内容。遵循,它将为您转换blob并将它们存储在数据库中。要创建与SQLite插件对话的PockDB,您需要执行以下操作:
/* prefer websql, which will actually use the SQLite Plugin if available */
var db = new PouchDB('mydbname', {adapter: 'websql'});
if (!db.adapter) {
/* fall back to IndexedDB for FirefoxOS, Windows Phone, etc. */
db = new PouchDB('mydbname');
}
如果您想在blob和二进制字符串或各种其他格式之间进行转换,请查看。我的建议是将图片存储为平面文件,当然要使用唯一的文件名,并将引用存储在sqlite数据库中。您能解释一下吗?当我得到javascript BLOB对象时,我该怎么处理他?很抱歉提出了愚蠢的问题,但我对这个问题有点困惑。出于某种原因,WWAHost未能通过IndexedDB的检查:-/