使用cURL创建couchdb独立附件

时间:2009-09-17 14:51:38

标签: database linux curl couchdb attachment

我目前正在使用couchdb并测试“独立附件”功能,该功能在this page底部附近进行了描述。

我正在尝试使用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?

编辑:

我发布我的另一个错误是使用--data-urlencode,什么时候开始工作我需要使用--data binary @filename和Dale建议的-H选项。

1 个答案:

答案 0 :(得分:5)

您可以add headers with the -H/--header switch,因此要添加图片/ jpeg内容类型的标头,请将其添加到您的命令中:

  

-H“Content-Type:image / jpeg”