database - 使用 cURL 创建 couchdb 独立附件

标签 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 选项一起使用。

最佳答案

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

-H "Content-Type: image/jpeg"

关于database - 使用 cURL 创建 couchdb 独立附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1439371/

相关文章:

php - 1对多通知系统

c# - 50GB HttpRuntime.Cache 持久化可能吗?

Linux:在目录中找到一个文件,用另一个名称备份,替换它

post - 多行curl命令

php - 如何设计用户积分系统数据库?

c# - 使用 OracleDataAdapter 的参数化查询

linux - 在 debian 上升级内核

linux - Nasm 程序段错误

bash - 使用 cURL 通过 IMAP 获取和删除消息

curl - Facebook 在尝试创建广告时抛出 "Please specify an image to run with this ad."