J'essaie d'envoyer une image encodée en base64 à partir de la ligne de commande en utilisant curl
et base64
comme ceci:
curl -X POST -H "Content-Type: application/json" -d '{"image" : $( base64 ~/Pictures/1.jpg )}' http://some/url/
Cependant, je reçois une réponse disant que $
c'est un jeton inattendu. Comment envoyer l'image encodée en base64?
14.04
command-line
curl
Petit enfant
la source
la source
Bash ne se développe pas entre guillemets simples.
'{"image" : $( base64 ~/Pictures/1.jpg )}'
est envoyé tel quel. Essayez plutôt:(Quittez le guillemet d'ouverture avant d'effectuer la substitution de commande, puis ouvrez à nouveau un devis.)
la source
$()
sinon les lignes de sortie base64 seront divisées en plusieurs arguments curl.$ curl -d "name=Avatar&username=avatar&password=A1234567&[email protected]&token=16b185fe421d5017afb11691681906ed" --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/users/register/