Pregunta

Actualmente estoy jugando con couchdb y estoy probando la función 'archivos adjuntos independientes', que se describe cerca de la parte inferior de esta página .

Estoy tratando de usar la función curda --data-urlencode para enviar la solicitud de creación, que solo funciona a medias. Puedo crear el archivo adjunto y recuperarlo, pero el campo Tipo de contenido es incorrecto, por lo que la imagen no se mostrará correctamente.

Para ser más exactos, CouchDB parece funcionar al devolver el archivo adjunto usando el mismo tipo de contenido en el que se publicó. (que es perfectamente sensato en mi opinión) Mi problema es que curl no envía el código correcto. Aquí están los detalles;

 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
>

Entonces, la versión corta de esta pregunta es; ¿Cómo consigo cURL para enviar el tipo de contenido correcto?

EDITAR:

Libero que mi otro error fue usar --data-urlencode, cuando para hacerlo funcionar necesito usar --data binary @filename junto con la opción -H que sugirió Dale.

¿Fue útil?

Solución

Puede agregar encabezados con el interruptor de encabezado -H / - , para agregue un encabezado para el tipo de contenido de imagen / jpeg, agregue esto a su comando:

  

-H " Tipo de contenido: image / jpeg "

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top