Art*_*mKh 5 javascript sqlite blob cordova 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":96874}"
如何再次将其转换为BLOB?
我也试图将图像保存在base64中,但是我无法将大图像保存到SQLite中,因为base64字符串非常大。(适用于小图像)
请帮助我,对不起我的英语。
您无法将JavaScript Blob对象保存到SQLite插件。它不支持Blob格式。是的,我知道它有一个BLOB类型,但令人困惑的是它不是同一回事。:)
WebSQL / SQLite插件确实支持二进制字符串来替代Blob。但是,您可能会遇到问题,因为iOS和Android上的实现均存在许多错误(有关详细信息,请参见此处)。
在PouchDB中,我们解决了这些问题,因此附件API为您提取了所有内容。遵循PouchDB附件指南,它将为您转换Blob,并将其存储在数据库中。要创建与SQLite插件对话的PouchDB,您需要执行以下操作:
/* 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和二进制字符串或多种其他格式之间转换,请查看blob-util。
| 归档时间: | 
 | 
| 查看次数: | 3725 次 | 
| 最近记录: |