CouchDB - Joindre des fichiers
Joindre des fichiers à l'aide de cURL
Vous pouvez joindre des fichiers à CouchDB comme un e-mail. Le fichier contient des métadonnées comme nom et inclut son type MIME, ainsi que le nombre d'octets que la pièce jointe contient. Pour joindre des fichiers à un document, vous devez envoyer une requête PUT au serveur. Voici la syntaxe pour joindre des fichiers au document -
$ 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"
La demande comporte diverses options qui sont expliquées ci-dessous.
--data-binary@ - Cette option indique à cURL de lire le contenu d'un fichier dans le corps de la requête HTTP.
-H - Cette option permet de mentionner le type de contenu du fichier que nous allons télécharger.
Exemple
Attachons un fichier nommé boy.jpg, au document avec identifiant 001, dans la base de données nommée my_databaseen envoyant une requête PUT à CouchDB. Avant cela, vous devez récupérer les données du document avec l'identifiant001 pour obtenir son courant rev id comme indiqué ci-dessous.
$ curl -X GET http://127.0.0.1:5984/my_database/001
{
"_id": "001",
"_rev": "1-967a00dff5e02add41819138abb3284d"
}
Maintenant en utilisant le _rev value, envoyez la requête PUT au serveur CouchDB comme indiqué ci-dessous.
$ 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"
Vérification
Pour vérifier si la pièce jointe est téléchargée, récupérez le contenu du document comme indiqué ci-dessous -
$ 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
}
}
}
Joindre des fichiers à l'aide de Futon
Télécharger la pièce jointe
À l'aide de cette option, vous pouvez télécharger une nouvelle pièce jointe, telle qu'un fichier, une image ou un document, dans la base de données. Pour ce faire, cliquez sur leUpload Attachmentbouton. Une boîte de dialogue apparaîtra dans laquelle vous pourrez choisir le fichier à télécharger. Sélectionnez le fichier et cliquez sur leUpload bouton.
Le fichier téléchargé sera affiché dans le champ _attachments. Plus tard, vous pouvez voir le fichier en cliquant dessus.