Ho creato diversi apis in djangorestframework. Questo potrei testare entrambi con il modulo html dell'api come con l'arricciatura nella riga di comando.caricare l'immagine in imagefield con djangorestframework utilizzando json e testare questo con CURL
Ora ho una API per un modello con uno fuori dai campi un ImageField.
Non riesco a capire quale comando di arricciatura utilizzare. Utilizzando la sintassi che ho usato prima di azioni fot postali in formato JSON, sarebbe:
curl -X POST -S -H 'Content-Type: application/json' -u "username:password" --data-binary '{"otherfields":"something", "photo":"/home/michel/test.jpg"}' 127.0.0.1:8000/api/v1/
ma in questo caso la foto non verrà salvata e lasciata vuota (la foto è un campo opzionale)
aggiunta -T /home/michel/test.jpg
Viene visualizzato un messaggio di errore che dice che 127.0.0.1:800/api/v1/test.jpg non esiste come url.
Nella forma html test di djangorestframework, tutto funziona correttamente.
Utilizzando l'opzione -F
, si dice che posso fare solo 1 richiesta alla volta ... ho anche rimosso il tipo di dati da dati binario
Qualcuno può aiutarmi come rendere questo Montante Flessione sia con il immagine e gli altri dati in json in 1 comando.
Cosa sto sbagliando? '$ curl -X POST -S -H" Accept-Language: en-it "-H 'Accetta: application/json' \ -F" name = Avatar "\ -F" username = avatar "\ -F "password = A1234567" \ -F "[email protected]" \ -F "token = 748e14e32ce165d06365d3c9a00cee3f" \ -F "avatar = @/home/moreno/Immagini/avatar004.jpg; type = image/jpg "127.0.0.1: 8000/api/v1/users/register /' response 400 '{" username ": [" Questo campo è obbligatorio. "]," password ": [" Questo campo è obbligatorio. "]," nome ": [" Questo campo è obbligatorio. "]," avatar ": [" Nessun file è stato inviato. "]," email ": [" Questo campo è obbligatorio. "]}' – Moreno
manca uno dei reuired campi. Devi usare -u davanti al nome utente, non -F (a meno che non sia anche un campo nell'api, di quello che devi usare entrambi) –
@ michel-iamit grazie. Ho deciso di inviare le immagini come un campo base64 ad esempio: "arricciatura -H" Autorizzazione: JWT ey ... 5U "-d" nome = Nome utente & nomeutente=utente&[email protected]&password=A1234567 "--data-urlencode" avatar = '"$ (base64 ~/Pictures/avatar004.jpg)"' '--data-urlencode' image = '"$ (base64 ~/Pictures/avatar001.jpg)"' '--data-urlencode' picture = '"$ (base64 ~/Pictures/577383.jpg)"' 'http: // localhost: 8000/api/v1 // register/' – Moreno