On Tue, Jul 16, 2013 at 4:20 PM, Robert Newson <[email protected]> wrote:
> You can upload a document and all its attachments in one PUT request > if you use multipart/related, yes. Check the test suite for a working > example. > > B. > > > On 16 July 2013 21:19, Robert Newson <[email protected]> wrote: > > I think the error message is very descriptive and tells you exactly what > to do. > > > > B. > > > > > > On 16 July 2013 20:38, Yves S. Garret <[email protected]> > wrote: > >> On Tue, Jul 16, 2013 at 3:22 PM, Yves S. Garret > >> <[email protected]>wrote: > >> > >>> On Tue, Jul 16, 2013 at 1:34 PM, Yves S. Garret < > >>> [email protected]> wrote: > >>> > >>>> On Tue, Jul 16, 2013 at 1:12 PM, Robert Newson <[email protected] > >wrote: > >>>> > >>>>> You need to pass the current rev, which clearly doesn't match the one > >>>>> you tried and got the 409 conflict telling you it was wrong for. > >>>>> > >>>>> On 16 July 2013 18:07, Yves S. Garret <[email protected]> > >>>>> wrote: > >>>>> > On Tue, Jul 16, 2013 at 11:39 AM, Yves S. Garret > >>>>> > <[email protected]> wrote: > >>>>> >> > >>>>> >> On Tue, Jul 16, 2013 at 11:13 AM, Tim Tisdall <[email protected]> > >>>>> wrote: > >>>>> >>> > >>>>> >>> Do you have a space before "--data-binary" when you run the > command? > >>>>> >>> > >>>>> >>> > >>>>> >>> On Tue, Jul 16, 2013 at 11:05 AM, Yves S. Garret > >>>>> >>> <[email protected] > >>>>> >>> > wrote: > >>>>> >>> > >>>>> >>> > I'm going through this book and I'm in this section: > >>>>> >>> > http://guide.couchdb.org/editions/1/en/api.html#attachments > >>>>> >>> > > >>>>> >>> > I try this in the command line and this is the error that I > get: > >>>>> >>> > % curl -vX PUT > >>>>> >>> > > >>>>> >>> > > >>>>> >>> > > >>>>> > http://127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af/artwork.jpg?rev=2-2739352689--data-binary > >>>>> >>> > @artwork.jpg -H "Content-Type: image/jpg" > >>>>> >>> > zsh: no matches found: > >>>>> >>> > > >>>>> >>> > > >>>>> >>> > > >>>>> > http://127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af/artwork.jpg?rev=2-2739352689 > >>>>> >>> > > >>>>> >>> > Am I making a stupid copy/paste mistake that's not immediately > >>>>> >>> > obvious? There is an artwork.jpg in the directory that I'm > working > >>>>> >>> > in. > >>>>> >>> > > >>>>> >> > >>>>> >> > >>>>> >> Yes. > >>>>> > > >>>>> > > >>>>> > This is what's in the database at the moment (if it helps): > >>>>> > > >>>>> > { > >>>>> > "_id": "6e1295ed6c29495e54cc05947f18c8af", > >>>>> > "_rev": "1-4b39c2971c9ad54cb37e08fa02fec636", > >>>>> > "title": "There is Nothing Left to Lose", > >>>>> > "artist": "Foo Fighters" > >>>>> > } > >>>>> > > >>>>> > > >>>>> > And I've attached the file with the actual DB. > >>>>> > >>>> > >>>> Gotcha. It worked. Thanks. > >>>> > >>> > >>> One more question, would it be possible to include multiple binary > >>> uploaded files? > >>> > >>> This is what I tried and the results that I got: > >>> > >>> % curl -vX PUT " > >>> > http://127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af/artwork.jpg?rev=2-5ba0d72de94d89056e1f91ec900f5680 > " > >>> --data-binary @artwork.jpg --data-binary @sample2.jpg -H "Content-Type: > >>> image/jpg" > >>> * About to connect() to 127.0.0.1 port 5984 (#0) > >>> * Trying 127.0.0.1... > >>> * Adding handle: conn: 0x7fe5c4007c00 > >>> * Adding handle: send: 0 > >>> * Adding handle: recv: 0 > >>> * Curl_addHandleToPipeline: length: 1 > >>> * - Conn 0 (0x7fe5c4007c00) send_pipe: 1, recv_pipe: 0 > >>> * Connected to 127.0.0.1 (127.0.0.1) port 5984 (#0) > >>> > PUT > >>> > /albums/6e1295ed6c29495e54cc05947f18c8af/artwork.jpg?rev=2-5ba0d72de94d89056e1f91ec900f5680 > >>> HTTP/1.1 > >>> > User-Agent: curl/7.31.0 > >>> > Host: 127.0.0.1:5984 > >>> > Accept: */* > >>> > Content-Type: image/jpg > >>> > Content-Length: 161673 > >>> > Expect: 100-continue > >>> > > >>> < HTTP/1.1 100 Continue > >>> < HTTP/1.1 409 Conflict > >>> * Server CouchDB/1.3.1 (Erlang OTP/R16B01) is not blacklisted > >>> < Server: CouchDB/1.3.1 (Erlang OTP/R16B01) > >>> < Date: Tue, 16 Jul 2013 19:19:45 GMT > >>> < Content-Type: text/plain; charset=utf-8 > >>> < Content-Length: 58 > >>> < Cache-Control: must-revalidate > >>> * HTTP error before end of send, stop sending > >>> < > >>> {"error":"conflict","reason":"Document update conflict."} > >>> * Closing connection 0 > >>> > >>> This is the current record: > >>> > >>> { > >>> "_id": "6e1295ed6c29495e54cc05947f18c8af", > >>> "_rev": "2-5ba0d72de94d89056e1f91ec900f5680", > >>> "title": "There is Nothing Left to Lose", > >>> "artist": "Foo Fighters", > >>> "_attachments": { > >>> "artwork.jpg": { > >>> "content_type": "image/jpg", > >>> "revpos": 2, > >>> "digest": "md5-dqqlZ2iJ4Mw9C6SNf7r+Pw==", > >>> "length": 15138, > >>> "stub": true > >>> } > >>> } > >>> } > >>> > >> > >> This is off-topic, but when I tried to setup a replication DB, this is > the > >> error that I got: > >> > >> % curl -X PUT http://127.0.0.1:5984/albums-replica > >> {"ok":true} > >> % curl -vX POST http://127.0.0.1:5984/_replicate -d > '{"source":"albums", > >> "target":"albums-replica"}' > >> * About to connect() to 127.0.0.1 port 5984 (#0) > >> * Trying 127.0.0.1... > >> * Adding handle: conn: 0x7fb592808c00 > >> * Adding handle: send: 0 > >> * Adding handle: recv: 0 > >> * Curl_addHandleToPipeline: length: 1 > >> * - Conn 0 (0x7fb592808c00) send_pipe: 1, recv_pipe: 0 > >> * Connected to 127.0.0.1 (127.0.0.1) port 5984 (#0) > >>> POST /_replicate HTTP/1.1 > >>> User-Agent: curl/7.31.0 > >>> Host: 127.0.0.1:5984 > >>> Accept: */* > >>> Content-Length: 46 > >>> Content-Type: application/x-www-form-urlencoded > >>> > >> * upload completely sent off: 46 out of 46 bytes > >> < HTTP/1.1 415 Unsupported Media Type > >> * Server CouchDB/1.3.1 (Erlang OTP/R16B01) is not blacklisted > >> < Server: CouchDB/1.3.1 (Erlang OTP/R16B01) > >> < Date: Tue, 16 Jul 2013 19:23:34 GMT > >> < Content-Type: text/plain; charset=utf-8 > >> < Content-Length: 78 > >> < Cache-Control: must-revalidate > >> < > >> {"error":"bad_content_type","reason":"Content-Type must be > >> application/json"} > >> > >> Thoughts? > >> > >> But also, is there an index of general CouchDB errors that I can refer > to > >> and find > >> out the general causes behind those errors? > Gotcha, will investigate further.
