2010-04-20 6 views
2

Est-ce que quelqu'un a réussi à envoyer des pièces jointes autonomes en utilisant l'API de pièce jointe autonome (si possible gziped) à couchDB de ruby?
Je sais qu'il y a quelques exemples de CURL, mais mes tentatives avec Typhoeus n'ont pas été couronnées de succès jusqu'ici. Il s'arrête généralement et attend plus d'une minute après les premiers documents.
CouchRest ne semble pas soutenir, ni faire l'un des autres bibliothèques que j'ai regardéPièces jointes autonomes dans CouchDB + Ruby

edit: clarification Je ne cherche pas des pièces jointes base64 réguliers. CouchRest le fait très bien.

Répondre

1

obtenu fonctionnant avec Typhée

Typhoeus::Request.put("http://127.0.0.1:5984/db/document/my_attachment_name?rev=#{rev}", "content-type" => "text/html", "Content-Encoding" => "gzip", "Accept-Encoding" => "gzip", :body => my_html_body) 

ce stockera la « my_html_body » chaîne en tant que pièce jointe CouchDB autonome gziped

1

Pour un accessoire autonome binaire, je viens d'utiliser IO.read ("/ path/to/my/file ") pour donner une chaîne à la méthode put en tant que: body. On dirait que ça fonctionne mais je ne sais pas si c'est la bonne façon de le faire.

Il ressemble à ceci:

res = Typhoeus::Request.get("http://localhost:5984/_uuids") 
    uuid = JSON.parse(res.body)["uuids"].first 
    doc = {} 
    doc["name"] = name 
    ... 
    res = Typhoeus::Request.put("http://localhost:5984/products/#{uuid}", :body => JSON.generate(doc)) 
    res = Typhoeus::Request.put("http://localhost:5984/products/#{uuid}/image.jpg?rev=#{rev}", :headers => {"Content-Type" => "image/jpeg" }, :body => IO.read("output/images/#{image}")) 
Questions connexes