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