Domanda

Attualmente sto giocando con couchdb e sto testando la funzione "allegati autonomi", descritta nella parte inferiore di questa pagina .

Sto cercando di usare la funzione --data-urlencode di curl per inviare la richiesta di creazione, che funziona solo a metà. Posso creare l'allegato e recuperarlo, ma il campo Content-Type è errato, quindi l'immagine non verrà visualizzata correttamente.

Per essere più precisi, CouchDB sembra funzionare restituendo l'allegato utilizzando lo stesso tipo di contenuto in cui è stato pubblicato. (che è perfettamente ragionevole IMO) Il mio problema è che l'arricciatura non invia il codice corretto. Ecco i dettagli;

 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
>

Quindi la versione breve di questa domanda è; come ottengo cURL per inviare il Content-Type corretto?

EDIT:

Rilascio che l'altro mio errore era usare --data-urlencode, quando per farlo funzionare ho bisogno di usare --data binary @filename insieme all'opzione -H che Dale ha suggerito.

È stato utile?

Soluzione

Puoi aggiungere intestazioni con l'opzione -H / - header , in modo da aggiungi un'intestazione per il tipo di contenuto image / jpeg, aggiungi questo al tuo comando:

  

-H " Content-Type: image / jpeg "

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top