可以用pouchdb存储图片吗
Can I use pouchdb to store images
我正在寻找一种简单的方法来处理移动应用中的 offline/online 情况。 pouchdb 似乎是与 cloudant 配对使用的一个有趣选项。但是用它来存储像图像这样的二进制数据是个好主意吗?或者是否有存储大小或任何其他限制?
PouchDB 支持文档附件,就像 CouchDB 一样。因此应该可以将本地文件附加到 PouchDB 数据库,然后将数据同步到远程 CouchDB/Cloudant 数据库。
这是离线优先存储的绝佳解决方案;您 运行 的存储限制取决于所使用的浏览器。 See PouchDB's FAQ page for the list of browsers and storage limits.
如果您担心数据库中的附件太多或太大会带来性能问题,您可以采用混合方法并使用附件来最初保存附加对象,但使用脚本服务器端来获取附件,复制到对象存储,然后修改文档以包含附件新位置的 URL。然后您可以删除附件本身以减少存储空间 space.
存储图像或文件
<input type="file">
js
var input = document.querySelector('input');
input.addEventListener('change', function () {
var file = input.files[0]; // file is a Blob
db.put({
_id: 'mydoc',
_attachments: {
filename: {
type: file.type,
data: file
}
}
}).catch(function (err) {
console.log(err);
});
});
我正在寻找一种简单的方法来处理移动应用中的 offline/online 情况。 pouchdb 似乎是与 cloudant 配对使用的一个有趣选项。但是用它来存储像图像这样的二进制数据是个好主意吗?或者是否有存储大小或任何其他限制?
PouchDB 支持文档附件,就像 CouchDB 一样。因此应该可以将本地文件附加到 PouchDB 数据库,然后将数据同步到远程 CouchDB/Cloudant 数据库。
这是离线优先存储的绝佳解决方案;您 运行 的存储限制取决于所使用的浏览器。 See PouchDB's FAQ page for the list of browsers and storage limits.
如果您担心数据库中的附件太多或太大会带来性能问题,您可以采用混合方法并使用附件来最初保存附加对象,但使用脚本服务器端来获取附件,复制到对象存储,然后修改文档以包含附件新位置的 URL。然后您可以删除附件本身以减少存储空间 space.
存储图像或文件
<input type="file">
js
var input = document.querySelector('input');
input.addEventListener('change', function () {
var file = input.files[0]; // file is a Blob
db.put({
_id: 'mydoc',
_attachments: {
filename: {
type: file.type,
data: file
}
}
}).catch(function (err) {
console.log(err);
});
});