Tôi hiện đang phát bằng couchdb và thử nghiệm tính năng 'phần đính kèm độc lập' được mô tả gần cuối this page.Tạo tệp đính kèm độc lập couchdb bằng cURL
Tôi đang cố sử dụng tính năng --data-urlencode của curl để gửi yêu cầu tạo, chỉ có một nửa hoạt động. Tôi có thể tạo tệp đính kèm và truy xuất tệp đính kèm, nhưng trường Loại Nội dung sai, vì vậy hình ảnh sẽ không hiển thị chính xác.
Để chính xác hơn, CouchDB có vẻ hoạt động bằng cách trả về tệp đính kèm bằng cùng Loại nội dung được đăng. (IMO hoàn toàn hợp lý) Vấn đề của tôi là curl không gửi mã chính xác. Đây là chi tiết;
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
>
Vì vậy, phiên bản ngắn của câu hỏi này là; làm thế nào để tôi nhận được cURL để gửi đúng loại nội dung?
EDIT:
tôi phát hành rằng sai lầm khác của tôi là sử dụng --data-urlencode, khi để có được nó để làm việc tôi cần phải sử dụng @filename nhị phân --data cùng với tùy chọn -H rằng Dale gợi ý .
Tôi cũng cần thiết --data-binary @filename không phải là --data-urlencoded, tôi đã chỉnh sửa bài đăng của mình trong trường hợp bất kỳ ai khác thực hiện điều này. –