PROBLEMACouchDB on-the-fly allegati tramite riga di comando
voglio essere in grado di collegare una/attacco multiplo (s) come viene creato il documento, attraverso la linea di comando (vedi sotto) . Posso solo farlo funzionare in Futon (Couchbase), ma solo dopo che un documento è già stato creato.
ho provato quanto segue:
curl -X PUT 'http://username:[email protected]:5984/client_info'
curl -X POST 'http://username:[email protected]:5984/client_info' -H 'Content-Type: application/json' -d '{"client_type": "Private", "client_name": "John Doe","client_email": "[email protected]","client_city": "Toronto","created_at": "2011-09-06 12:45:03","expires_at": "2012-01-01 00:00:00", "_attachments": {
"test01.jpg": {
"content_type": "image/jpeg",
"length": 30189
}
}
}'
Questo solo i risultati il seguente errore:
{"error":"unknown_error","reason":"function_clause"}
Grazie
Quindi prima devo creare il documento, ottenere un _rev e poi usare PUT per allegare finalmente un'immagine? Perché non è possibile farlo contemporaneamente? Cosa succede se le informazioni che desidero inserire provengono da un modulo di registrazione, in cui l'utente ha la possibilità di caricare una o più immagini? Come potrei fare questo? – EdvardG
Se stai cercando una memoria altamente scalabile per oggetti binari che scrivono in qualcosa come un secchio contemporaneamente, CouchDB potrebbe non essere la tua prima scelta. Esistono ancora diverse soluzioni per il problema: archiviare localmente copie locali delle immagini caricate e metterle in coda per il caricamento sequenziale. In alternativa, memorizzare ciascuna immagine in un documento distinto (consente il caricamento parallelo) e aggiungere solo le _id dei documenti immagine nel documento dell'utente. Per fare tutto in un'unica richiesta: Base64: codifica le tue immagini e includile nel tuo documento JSON (brutto in termini di prestazioni). –
Se si verifica un errore: "nessuna corrispondenza trovata: ..." inserire l'url tra virgolette: curl -v -X PUT 'http://127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af/artwork.jpg? rev = 2-2739352689 '--data-binary @ artwork.jpg -H "Content-Type: image/jpg" – Andriy