pouchdb内联附件 - 保存和检索

时间:2014-09-16 13:09:32

标签: javascript save attachment pouchdb

我尝试使用pouchdb将已经编码为base64格式的图像保存为文档(内联)的附件,然后再次检索它。

然而,当我检索文档时,似乎pouchdb已经修改了base64图像数据,并附加了' md5 - '它。还没有数据'正如我所期望的那样归属于附件对象。相反,我找到了一个名为“消化”的对象。这是什么?

我创建了一个例子:

var db = new PouchDB('example');
db.bulkDocs(
    [
      {
        _id: '1', 
        name: 'example',
        "_attachments": {
            "avatar.jpg": {
                "content_type": "image/jpg",
                "data": [BASE65 DATA STRING]
        }
      }
    ], 
    function(err, response) {
      if (!err) {
        db.allDocs({ include_docs: true, attachments: true }, function(err, docs) {
            var d  = docs.rows[0].doc;
            // d looks like this: 
            // {"name":"example","_attachments":{"avatar.jpg":{"content_type":"image/jpg","digest":"md5-57e396baedfe1a034590339082b9abce","stub":true}},"_id":"1","_rev":"1-ff23a959ae88b871b94374a784a07728"}
        });
      }
    }
);

可在此处找到完整示例:http://jsfiddle.net/ntan0ycL/

我如何从pouchdb文档中检索图像的base64表示?我不确定问题在于我如何保存附件或我如何检索它。

谢谢,

安德鲁。

1 个答案:

答案 0 :(得分:1)

看起来我们犯了一个错误,而allDocs() API并不支持attachments选项。所以你得到的只是一个附件存根。

我提出了一个问题:https://github.com/pouchdb/pouchdb/issues/2771

与此同时,您可以使用普通的getAttachment()get() API与{attachments: true}分别获取附件。对不起。