如何在CouchDB中显示文档附件中的图像?

时间:2012-08-20 13:09:33

标签: php couchdb

我正在使用CouchDB来存储图像,我想知道如何从CouchDD文档中获取图像以在HTML页面中显示它。

像:

<img src= ".....">

我可以遵循任何代码示例吗?

3 个答案:

答案 0 :(得分:1)

如果我说得对,你只想在文件的附件对象中显示图像。

只需使用以下URI构造:

/database/document-id/image-name.type

这是一个实例。

http://localhost:5984/users/sam/avatar.png

答案 1 :(得分:0)

您可以将已转换的png-(jpg / gif)图像存储在BLOB字段

<img src="data:image/png;base64,<?php echo $base64PNGImage ?>">

答案 2 :(得分:0)

如果您将图像存储为附件,并且想要检索某个键的图像(假设某个用户),请按以下方式执行:

查看data-user-avatar: 图:

function(doc) {
    if (doc.doc_type === "config" && doc.config_type === "user") {
        emit(doc.username, doc._attachments);
    }
}

list list-user-avatar:

function(head, req) {
    start({
        "headers": {
            "Content-Type": "text/html"
        }
    });
    var row;
    while(row = getRow()) {
        for (var attachment_key in row.value) {
            send('<img src="/' + req.query.database + '/' + row.id + '/' + attachment_key + '" style="border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 5px; border-top-right-radius: 5px;">');
        }
    }
}

javascript中的HTTP调用:

'http://localhost:5984/db/_design/db/_list/list-user-avatar/data-user-avatar?key="' + user + '"&database=' + database