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 值,按如下所示向 CouchDB 服务器发送 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 附件文件

上传附件

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

Upload Attachment

上传的文件将显示在 _attachments 字段下。稍后,您可以通过单击它查看文件。

广告