cURL

2009-09-17 19 views
7

ile couchdb bağımsız bir ek oluşturma Şu anda couchdb ile çalıyorum ve this page'un altında anlatılan 'bağımsız ekler' özelliğini test ediyorum.cURL

Curl'in --data-urlencode özelliğini, yalnızca yarım çalışma olan oluşturma isteğini göndermek için kullanmaya çalışıyorum. Ek oluşturabilir ve onu alabilirim, ancak İçerik Türü alanı yanlış, bu yüzden görüntü düzgün görüntülenmeyecek.

Daha doğru olması için CouchDB, eki gönderildiği içerikle aynı Content-Type kullanarak döndürerek işe yaramış gibi görünüyor (ki bu mükemmel bir şekilde mantıklı IMO'dur) Sorunum, doğru kodu göndermiyor. İşte detaylar;

curl -vX PUT http://localhost:5984/dafttest/666/attachment --data-urlencode image/[email protected]_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 
> 

Bu sorunun kısa versiyonu; Doğru İçerik Türü göndermek için cURL nasıl edinilir?

DÜZENLEME: Ben diğer hata --bilgi-urlencode kullanmak olduğuna serbest

almak için zaman ben Dale önerdi -H seçeneği ile birlikte --bilgi ikili @ dosyaadı kullanmak gerekir çalışmak . Sen add headers with the -H/--header switch can

cevap

5

, bu yüzden, image/jpeg içerik türü için bir başlık eklemek için komutuna bu eklemek için:

-H: aynı zamanda "Content-Type image/jpeg"

+0

Ben gerekli --data-binary @filename değil --data-urlencoded, başka birinin buna koşması durumunda gönderimi düzenledim. –