2009-09-17 97 views
7

我目前使用CouchDB玩耍,檢驗出「獨立附件」功能,這是附近的this page底部描述的CouchDB的獨立附件。創建使用捲曲

我試圖用捲曲的--data-進行urlencode功能來發送創建請求,其中只有一半的作品。我可以創建附件並檢索它,但Content-Type字段是錯誤的,所以圖像將無法正確顯示。

爲了更加準確CouchDB似乎通過使用相同的Content-Type返回附件來工作(這是完全合理的IMO)我的問題是curl沒有發送正確的代碼。這是細節;

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 
> 

所以這個問題的簡短版本是;如何讓cURL發送正確的Content-Type?

編輯:

我釋放我的其他錯誤是使用--data-進行urlencode,當得到它的工作,我需要與戴爾建議-H選項一起使用--data二進制@filename 。

回答

5

您可以add headers with the -H/--header switch,所以要增加對圖像/ JPEG內容類型的標題,添加到您的命令:

-H 「內容類型:image/JPEG」

+0

我也需要--data-binary @filename不是--data-urlencoded,我編輯過我的帖子,以防其他人遇到此問題。 – 2009-09-17 16:09:40