Couchdb-attaching-files

提供:Dev Guides
移動先:案内検索

CouchDB-ファイルの添付

cURLを使用したファイルの添付

メールと同様に、CouchDBにファイルを添付できます。 ファイルには、名前などのメタデータが含まれ、MIMEタイプ、添付ファイルに含まれるバイト数が含まれます。 ドキュメントにファイルを添付するには、PUTリクエストをサーバーに送信する必要があります。 以下は、ドキュメントにファイルを添付する構文です-

$ curl -vX PUT http://127.0.0.1:5984/database_name/database_id
/filename?rev=document rev_id --data-binary @filename -H "Content-Type:
type of the content"

リクエストには、以下で説明するさまざまなオプションがあります。

  • *-data-binary @ *-このオプションは、cURLにファイルのコンテンツをHTTPリクエスト本文に読み込むよう指示します。
  • -H -このオプションは、アップロードするファイルのコンテンツタイプを示すために使用されます。

CouchDBにPUTリクエストを送信して、* boy.jpg、という名前のファイルを、 *my_database という名前のデータベース内のID * 001、のドキュメントに添付しましょう。 その前に、以下に示すように、現在の *rev IDを取得するには、ID 001 のドキュメントのデータをフェッチする必要があります。

$ curl -X GET http://127.0.0.1:5984/my_database/001
{
   "_id": "001",
   "_rev": "1-967a00dff5e02add41819138abb3284d"
}
*_rev* 値を使用して、以下に示すようにCUTDBサーバーにPUTリクエストを送信します。
$ curl -vX PUT http://127.0.0.1:5984/my_database/001/boy.jpg?rev=1-
967a00dff5e02add41819138abb3284d --data-binary @boy.jpg -H "ContentType:
image/jpg"

検証

添付ファイルがアップロードされているかどうかを確認するには、次のようにドキュメントコンテンツを取得します。

$ curl -X GET http://127.0.0.1:5984/my_database/001
{
   "_id": "001",
   "_rev": "2-4705a219cdcca7c72aac4f623f5c46a8",
   "_attachments": {
      "boy.jpg": {
         "content_type": "image/jpg",
         "revpos": 2,
         "digest": "md5-9Swz8jvmga5mfBIsmCxCtQ==",
         "length": 91408,
         "stub": true
      }
   }
}

Futonを使用してファイルを添付する

添付ファイルをアップロード

このオプションを使用すると、ファイル、画像、ドキュメントなどの新しい添付ファイルをデータベースにアップロードできます。 これを行うには、[*添付ファイルをアップロード]ボタンをクリックします。 アップロードするファイルを選択できるダイアログボックスが表示されます。 ファイルを選択し、*アップロード*ボタンをクリックします。

添付ファイルのアップロード

アップロードされたファイルは、_attachmentsフィールドの下に表示されます。 後でファイルをクリックして表示できます。