Хранение встроенных вложений в couchdb с использованием сценария Java - PullRequest
1 голос
/ 24 февраля 2012

Я хочу хранить встроенные вложения вместе с новым документом. Может ли любое тело предоставить фрагмент сценария Java для хранения встроенных вложений. И есть ли способ предоставить ключ при прикреплении файла.

Заранее спасибо

1 Ответ

2 голосов
/ 25 февраля 2012

Для начала прочтите документацию CouchDB .

Например:

  • В документе my_doc
  • Чтобы прикрепить файл hello.html
  • с содержанием Hello, world

Вы кодируете контент с помощью base64. "Hello world" - это "'SGVsbG8gd29ybGQ=".

И вы создаете такой документ:

{ "_id": "my_doc",
, "_attachments":
  { "hello.html":
    { "content_type": "text/html"
    , "data": "'SGVsbG8gd29ybGQ="
    }
  }
}

Единственная сложная часть - это кодировка base64. Я предлагаю вам использовать скрипт base64, включенный в CouchDB.

<html>
  <head>
   <script src="/_utils/script/base64.js"></script>
  </head>
  <body>
   The Base64 of "Hello world" is:
   <script>
    var hello = "Hello world"
    var encoded = Base64.encode(hello)
    document.write(encoded)
   </script>

  <p>

  A document with this attachment is:<br>
  <script>
   var doc = { "_id":"my_doc" }

   doc._attachments = {}
   doc._attachments["hello.html"] = {}
   doc._attachments["hello.html"].content_type = "text/html"
   doc._attachments["hello.html"].data = Base64.encode("Hello world")

   document.write(JSON.stringify(doc))       
  </script>
  </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...