Вопрос

В настоящее время я играю с couchdb и тестирую функцию "автономные вложения", которая описана в нижней части эта страница.

Я пытаюсь использовать функцию curl --data-urlencode для отправки запроса на создание, который работает только наполовину.Я могу создать вложение и извлечь его, но поле Типа содержимого неверно, поэтому изображение не будет отображаться корректно.

Чтобы быть более точным, CouchDB, похоже, работает, возвращая вложение, используя тот же тип контента, в котором оно было опубликовано.(что вполне разумно, 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 отправлять правильный тип контента?

Редактировать:

Я сообщаю, что моей другой ошибкой было использование --data-urlencode, когда для того, чтобы заставить его работать, мне нужно использовать --data binary @filename вместе с опцией -H, предложенной Дейлом.

Это было полезно?

Решение

Ты можешь добавляйте заголовки с помощью переключателя -H/--header, поэтому, чтобы добавить заголовок для типа содержимого image / jpeg, добавьте это в свою команду:

-H "Типсодержимого:изображение /jpeg"

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top