我可以使用pouchdb存储图像

时间:2015-07-24 20:04:16

标签: pouchdb cloudant

我正在寻找一种简单的方法来处理移动应用中的离线/在线情况。似乎pouchdb是一个使用与cloudant配对的有趣选项。但是用它来存储像图像这样的二进制数据是个好主意吗?或存储大小或其他任何限制?

2 个答案:

答案 0 :(得分:4)

PouchDB支持文档附件,就像CouchDB一样。因此,应该可以将本地文件附加到PouchDB数据库,然后将数据同步到远程CouchDB / Cloudant数据库。

这是离线优先存储的绝佳解决方案;您将遇到的存储限制取决于所使用的浏览器。 See PouchDB's FAQ page for the list of browsers and storage limits

如果您担心数据库中包含太多或太大附件的性能问题,您可以采用混合方法并使用附件初始保存附加对象,但使用脚本服务器端进行附件,复制到对象存储,然后修改文档以包含附件的新家的URL。然后,您可以删除附件本身以减少存储空间。

答案 1 :(得分:0)

存储图片或文件

<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);
  });
});

http://bl.ocks.org/ntwcklng/f57b03c15e91c25e2cb5