问题添加附件到CouchDB中的文档

我在CouchDB中添加附件时遇到问题。 首先,当我在Futon中运行测试套件时,出现了两个错误 - 一个在附件中,另一个在复制中。 特定于附件的错误不是特别有用 -

name
    attachments
status
    error
duration
    6112
details
    0
    Exception raised: {}

一些互联网评论说,测试套件中的一些错误是完全正常的,所以我继续前进。 但是,通过Futon或Curl,附件肯定无法正常工作。 在被褥中,文件通常会附加,但是只有在点击取消上传后 - 即它会无限期地挂在上传进度条上,直到我点击取消。 我通过ssh -L5984:127.0.0.1:5984 root @ myServer访问远程计算机上的蒲团,然后将Firefox指向localhost:5984 / _utils /。 我不知道这是否会有所作为。

当我尝试通过Curl上传时,使用该命令

curl -vX PUT http://127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af/ artwork.jpg?rev=9--43332bfae07884c683b50ffd4b8ee18c --data-binary @artwork.jpg -H "Content-Type: image/jpg"

我得到:

Host:127.0.0.1:5984 Accept:/ Content-Type:image / jpg Content-Length:11205 Expect:100-continue

< HTTP/1.1 100 Continue
< HTTP/1.1 400 Bad Request
* HTTP error before end of send, stop sending
{"error":"bad_request","reason":"invalid UTF-8 JSON"}

日志文件显示:

[debug] [<0.103.0>] 'PUT' /albums/6e1295ed6c29495e54cc05947f18c8af/ {1,1}
Headers: [{'Accept',"*/*"},
      {'Content-Length',"11205"},
      {'Content-Type',"image/jpg"},
      {"Expect","100-continue"},
      {'Host',"127.0.0.1:5984"},
      {'User-Agent',"curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3"}]

[debug] [<0.103.0>] OAuth Params: []

[error] [<0.103.0>] attempted upload of invalid JSON (set log_level to debug to log it)

随后是一个巨大的块 -

[debug] [<0.103.0>] Invalid JSON:   
<<255,216,255,224,0,16,74,70,73,70,0,1,1,0,0,1,0,1,0,0,255,219,0,132, ... , etc

日志中与尝试上传相关的最后两行是

[info] [<0.103.0>] 127.0.0.1 - - 'PUT' /albums/6e1295ed6c29495e54cc05947f18c8af/ 400
[debug] [<0.103.0>] httpd 400 error response: {"error":"bad_request","reason":"invalid UTF-8 JSON"}

有谁知道这里发生了什么? 我试图在卷曲请求的周围包装字符串以防万一bash在吃报价时,它没有任何区别。


文档ID和附件之间的斜杠后,curl命令中有一个虚假空间:

...f18c8af/ artwork.jpg?...
           ^

当你删除它时它工作吗?


有两个问题。 第一个是Simon指出的虚假空间 - tyvm。 另一个问题是放置rev-x细节的地方。 我在使用http://guide.couchdb.org/editions/1/en/api.html这本书中的格式。

原始命令:

curl -vX PUT http://127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af/ artwork.jpg?rev=9--43332bfae07884c683b50ffd4b8ee18c --data-binary @artwork.jpg -H "Content-Type: image/jpg"

工作命令(空格删除并按照正确顺序放置):

curl -vX PUT http://127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af/attachment?rev=9-43332bfae07884c683b50ffd4b8ee18c --data-binary @artwork.jpg -H "Content-Type: image/jpg"
链接地址: http://www.djcxy.com/p/48549.html

上一篇: Issue adding attachments to documents in CouchDB

下一篇: How to let Tor service to perform the DNS resolution using Socket?