我尝试使用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表示?我不确定问题在于我如何保存附件或我如何检索它。
谢谢,
安德鲁。
答案 0 :(得分:1)
看起来我们犯了一个错误,而allDocs()
API并不支持attachments
选项。所以你得到的只是一个附件存根。
我提出了一个问题:https://github.com/pouchdb/pouchdb/issues/2771
与此同时,您可以使用普通的getAttachment()
或get()
API与{attachments: true}
分别获取附件。对不起。