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 的文档。在此之前,您必须获取 id 为 001 的文档的数据,以获取其当前的 rev id,如下所示。

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

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

$ 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 字段下。 稍后您可以通过单击该文件来查看该文件。