Получение URL для вложения - PullRequest
5 голосов
/ 24 июля 2011

Я использую CouchApp для создания простого веб-приложения, которое позволяет загружать изображения и управлять ими. Фактический файл изображения сохраняется как приложение к документу, как показано ниже.

{
  "_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-адрес вложения. Как мне получить этот 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 Ответ

12 голосов
/ 28 июля 2011

URL-адрес вложения будет http://domain/database/09fe82d75a26f9aa5e722d6b220180d2/foo.jpg

Если ваши имена файлов являются динамическими, вам придется перебирать объект _attachments и извлекать ключи на своем пути - вот где ваше имя файла.*

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