CouchDB - Anexando arquivos

Anexando arquivos usando cURL

Você pode anexar arquivos ao CouchDB como um e-mail. O arquivo contém metadados como nome e inclui seu tipo MIME e o número de bytes que o anexo contém. Para anexar arquivos a um documento, você deve enviar uma solicitação PUT ao servidor. A seguir está a sintaxe para anexar arquivos ao documento -

$ 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"

A solicitação tem várias opções que são explicadas a seguir.

  • --data-binary@ - Esta opção diz ao cURL para ler o conteúdo de um arquivo no corpo da solicitação HTTP.

  • -H - Esta opção é usada para mencionar o tipo de conteúdo do arquivo que enviaremos.

Exemplo

Vamos anexar um arquivo chamado boy.jpg, para o documento com id 001, no banco de dados chamado my_databaseenviando uma solicitação PUT ao CouchDB. Antes disso, você deve buscar os dados do documento com id001 para obter sua corrente rev id como mostrado abaixo.

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

Agora usando o _rev valor, envie a solicitação PUT ao servidor CouchDB conforme mostrado abaixo.

$ 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"

Verificação

Para verificar se o anexo foi carregado, busque o conteúdo do documento como mostrado abaixo-

$ 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
      }
   }
}

Anexando arquivos usando Futon

Carregar anexo

Usando esta opção, você pode carregar um novo anexo, como um arquivo, imagem ou documento, para o banco de dados. Para fazer isso, clique noUpload Attachmentbotão. Uma caixa de diálogo aparecerá onde você pode escolher o arquivo a ser carregado. Selecione o arquivo e clique noUpload botão.

O arquivo carregado será exibido no campo _attachments. Mais tarde, você pode ver o arquivo clicando nele.