我从一个位于 localhost:5984/categories/Jan
具有以下数据:
{
"_id": "Jan",
"_rev": "4-2c0b1c27daca6d2a3c375b0f879a8967",
"name": "Jan",
}
我想将 pdf 上传到此文档,所以我给出了以下 curl 命令:
curl -vX PUT 'http://localhost:5984/categories/Jan/example.pdf?rev=4-2c0b1c27daca6d2a3c375b0f879a8967' -d@example.pdf -H "ContentType: application/pdf"
我得到这样的回应:
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 5984 (#0)
> PUT /categories/Jan/example.pdf?rev=4-2c0b1c27daca6d2a3c375b0f879a8967 HTTP/1.1
> Host: localhost:5984
> User-Agent: curl/7.47.0
> Accept: */*
> ContentType: application/pdf
> Content-Length: 10944067
> Content-Type: application/x-www-form-urlencoded
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
< Server: MochiWeb/1.0 (Any of you quaids got a smint?)
< Date: Thu, 11 Jan 2018 07:48:21 GMT
< Connection: close
* We are completely uploaded and fine
< HTTP/1.1 201 Created
< X-CouchDB-Body-Time: 0
< X-Couch-Request-ID: d509f366b8
< Server: CouchDB/2.1.1 (Erlang OTP/18)
< Location: http://localhost:5984/categories/Jan/example.pdf
< Date: Thu, 11 Jan 2018 07:48:23 GMT
< Content-Type: application/json
< Content-Length: 66
< Cache-Control: must-revalidate
<
{"ok":true,"id":"Jan","rev":"5-4ae0ca0bd54d63b9ac45e3e57785648d"}
在我看来,这是一个成功的上传。但是,当我访问网址时 localhost:5984/categories/Jan/example.pdf
,有两个问题:
- 而不是在浏览器中打开,我被要求下载附件
- 当我下载并打开附件时,它说无法读取数据。
除了pdfs之外,其他内容类型也会发生这种情况(我也尝试过使用png(。 谁能让我知道可能出了什么问题? 谢谢。
问题似乎是您在创建附件期间指定的 ContentType 标头。
正确的标头名称是内容类型
curl 命令应为:
curl -vX PUT 'http://localhost:5984/categories/Jan/example.pdf?rev=4-2c0b1c27daca6d2a3c375b0f879a8967' -d@example.pdf -H "Content-Type: application/pdf"