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.