couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Newson <rnew...@apache.org>
Subject Re: Can't upload a pic to CouchDB.
Date Tue, 16 Jul 2013 20:32:00 GMT
You really think that "Content-Type must be application/json" isn't
telling you what you need to do (namely, set the content-type to
application/json)? :)

B.


On 16 July 2013 21:25, Yves S. Garret <yoursurrogategod@gmail.com> wrote:
> 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
View raw message