Я сейчас играю с couchdb и тестирую функцию «автономных вложений», которая описана в нижней части этой страницы .
Я пытаюсь использовать функцию curl --data-urlencode для отправки запроса на создание, который работает только наполовину. Я могу создать вложение и получить его, но поле Content-Type неверно, поэтому изображение не будет отображаться правильно.
Чтобы быть более точным, CouchDB, кажется, работает, возвращая вложение, используя тот же Content-Type, в котором оно было опубликовано. (Что совершенно разумно IMO) Моя проблема в том, что curl не отправляет правильный код. Вот подробности;
curl -vX PUT http://localhost:5984/dafttest/666/attachment --data-urlencode image/jpeg@xi_on_beach.jpg
* About to connect() to localhost port 5984 (#0)
* Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 5984 (#0)
> PUT /dafttest/666/attachment HTTP/1.1
> User-Agent: curl/7.19.4 (x86_64-pc-linux-gnu) libcurl/7.19.4 OpenSSL/0.9.8k zlib/1.2.3
> Host: localhost:5984
> Accept: */*
> Content-Length: 495389
> Content-Type: application/x-www-form-urlencoded
> Expect: 100-continue
>
Итак, краткая версия этого вопроса: как получить cURL для отправки правильного Content-Type?
EDIT:
Я сообщаю, что моей другой ошибкой было использование --data-urlencode, когда чтобы заставить его работать, мне нужно использовать --data binary @filename вместе с опцией -H, которую предложил Дейл.