couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yves S. Garret" <yoursurrogate...@gmail.com>
Subject Re: Can't upload a pic to CouchDB.
Date Tue, 16 Jul 2013 20:25:43 GMT
On Tue, Jul 16, 2013 at 4:20 PM, Robert Newson <rnewson@apache.org> 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 <rnewson@apache.org> 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 <yoursurrogategod@gmail.com>
> wrote:
> >> On Tue, Jul 16, 2013 at 3:22 PM, Yves S. Garret
> >> <yoursurrogategod@gmail.com>wrote:
> >>
> >>> On Tue, Jul 16, 2013 at 1:34 PM, Yves S. Garret <
> >>> yoursurrogategod@gmail.com> wrote:
> >>>
> >>>> On Tue, Jul 16, 2013 at 1:12 PM, Robert Newson <rnewson@apache.org
> >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 <yoursurrogategod@gmail.com>
> >>>>> wrote:
> >>>>> > On Tue, Jul 16, 2013 at 11:39 AM, Yves S. Garret
> >>>>> > <yoursurrogategod@gmail.com> wrote:
> >>>>> >>
> >>>>> >> On Tue, Jul 16, 2013 at 11:13 AM, Tim Tisdall <tisdall@gmail.com>
> >>>>> 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
> >>>>> >>> <yoursurrogategod@gmail.com
> >>>>> >>> > 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.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message