CouchDB 附加文件
您可以像电子邮件一样将文件附加到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 - 此选项用于提及我们要上传的文件的内容类型。
例
让我们通过发送PUT请求到CouchDB,在名为my_database的数据库中将名为boy.jpg的文件附加到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场显示。稍后,您可以通过点击它查看该文件。