获取附件的URL

时间:2011-07-23 22:32:51

标签: couchdb couchapp

我正在使用CouchApp构建一个简单的Web应用程序,允许上传和管理图片。实际的图像文件存储为doc的附件,如下图所示。

{
  "_id":"09fe82d75a26f9aa5e722d6b220180d2",
  "_rev":"2-5797b822c83b9d41545139caa592f611",
  "data":"some additional fields with info about the image",
  "_attachments":
  {
    "foo.jpg":
    {
      "stub":true,
      "content_type":"image/jpeg",
      "length":23721
    }
  }
}

但是为了在html中集成图像,我需要附件的URL。 如何获取此网址?

我正在使用evently和小胡子来生成网页。下面是用于读取数据的data.js:

function(data) {
  return {
    items : data.rows.map(function(r) {
      return {
        id : r.value._id,
        rev : r.value._rev,
        title : r.value.description,
        url : "how am i supposed to do this?"
      };
    })
  };
};

1 个答案:

答案 0 :(得分:12)

附件的网址为http://domain/database/09fe82d75a26f9aa5e722d6b220180d2/foo.jpg

如果您的文件名是动态的,则必须迭代_attachments对象并在途中获取密钥 - 这就是您的文件名所在的位置。

for(var filename in r.value._attachments){break;}
// ...
url : '<database>/' + r.value._id +'/'+filename;