【问题标题】:How can I display an image out of a document's attachments in CouchDB?如何在 CouchDB 中显示文档附件中的图像?
【发布时间】:2012-08-20 13:09:33
【问题描述】:

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

喜欢:

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

有没有我可以遵循的代码示例?

【问题讨论】:

  • 您可能想为我们提供更多意见,以了解您已经尝试过什么。

标签: php couchdb


【解决方案1】:

如果我说得对,您只想直接从文档的附件对象中显示图像。

只需使用以下 URI 构造:

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

这是一个活生生的例子。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      如果您将图像存储为附件,并且您想检索某个键的图像(假设是某个用户),请这样做:

      查看数据用户头像: 地图:

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-08
        • 1970-01-01
        • 2016-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多