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フィールドの下に表示されます。 後でファイルをクリックして表示できます。