CouchDB 附加文件

您可以像电子邮件一样将文件附加到CouchDB。 该文件包含名称等元数据,包括其MIME类型和附件包含的字节数。 要将文件附加到文档,您必须向服务器发送PUT请求。 以下是将文件附加到文档的语法。

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

该请求具有以下解释的各种选项。—data-binary @ - 此选项告诉cURL将文件的内容读入HTTP请求体。-H - 此选项用于提及我们要上传的文件的内容类型。

让我们通过发送PUT请求到CouchDB,在名为my_database的数据库中将名为boy.jpg的文件附加到id为001的文档。 在此之前,您必须获取id为001的文档的数据,以获取其当前的rev id,如下所示。

  1. $ curl -X GET http://127.0.0.1:5984/my_database/001
  2. {
  3. "_id": "001",
  4. "_rev": "1-967a00dff5e02add41819138abb3284d"
  5. }

现在使用_rev值,将PUT请求发送到CouchDB服务器,如下所示。

  1. $ curl -vX PUT http://127.0.0.1:5984/my_database/001/boy.jpg?rev=1-
  2. 967a00dff5e02add41819138abb3284d --data-binary @boy.jpg -H "ContentType:
  3. image/jpg"

验证

要验证附件是否上传,提取文档内容如图所示如下:

  1. $ curl -X GET http://127.0.0.1:5984/my_database/001
  2. {
  3. "_id": "001",
  4. "_rev": "2-4705a219cdcca7c72aac4f623f5c46a8",
  5. "_attachments": {
  6. "boy.jpg": {
  7. "content_type": "image/jpg",
  8. "revpos": 2,
  9. "digest": "md5-9Swz8jvmga5mfBIsmCxCtQ==",
  10. "length": 91408,
  11. "stub": true
  12. }
  13. }
  14. }

使用Futon附加文件

上传附件

使用此选项,您可以将新的附件(如文件,图像或文档)上传到数据库。 为此,请点击上传附件按钮。 将出现一个对话框,您可以在其中选择要上传的文件。 选择文件,然后单击上传按钮。

上传附件

上传的文件将在_attachments场显示。稍后,您可以通过点击它查看该文件。