【发布时间】:2012-08-20 13:09:33
【问题描述】:
我正在使用 CouchDB 存储图像,我想知道如何从该 CouchDD 文档中获取图像以将其显示在 HTML 页面中。
喜欢:
<img src= ".....">
有没有我可以遵循的代码示例?
【问题讨论】:
-
您可能想为我们提供更多意见,以了解您已经尝试过什么。
我正在使用 CouchDB 存储图像,我想知道如何从该 CouchDD 文档中获取图像以将其显示在 HTML 页面中。
喜欢:
<img src= ".....">
有没有我可以遵循的代码示例?
【问题讨论】:
如果我说得对,您只想直接从文档的附件对象中显示图像。
只需使用以下 URI 构造:
/database/document-id/image-name.type
这是一个活生生的例子。
http://localhost:5984/users/sam/avatar.png
【讨论】:
您可以将转换后的 png-(jpg/gif) 图像存储在 BLOB 字段中
<img src="data:image/png;base64,<?php echo $base64PNGImage ?>">
【讨论】:
如果您将图像存储为附件,并且您想检索某个键的图像(假设是某个用户),请这样做:
查看数据用户头像: 地图:
function(doc) {
if (doc.doc_type === "config" && doc.config_type === "user") {
emit(doc.username, doc._attachments);
}
}
列出列表-用户-头像:
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
【讨论】: