是否有人使用独立附件API(如果可能的话,gziped)从ruby发送到couchDB的独立附件? 我知道有一些CURL的例子,但到目前为止我对Typhoeus的尝试还没有成功。它通常只是停止并等待>在前几个文件后1分钟 CouchRest似乎不支持它,我看过的任何其他库也没有支持
编辑:澄清 我不是在寻找常规的Base64编码附件。 CouchRest做得很好。
答案 0 :(得分:1)
使用了typhoeus
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)
这会将“my_html_body”字符串存储为couchDB,作为gziped独立附件
答案 1 :(得分:1)
对于二进制独立附件,我只使用IO.read(“/ path / to / my / file”)将put方法的字符串作为:body。看起来它正在工作,但我不知道这是否是正确的方法。
看起来像这样:
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}"))