Estoy tratando de enviar una imagen codificada en base64 desde la línea de comando usando curl
y base64
así:
curl -X POST -H "Content-Type: application/json" -d '{"image" : $( base64 ~/Pictures/1.jpg )}' http://some/url/
Sin embargo, recibo una respuesta que dice que $
es un token inesperado. ¿Cómo envío la imagen codificada en base64?
14.04
command-line
curl
Niño pequeño
fuente
fuente
Bash no se expande entre comillas simples.
'{"image" : $( base64 ~/Pictures/1.jpg )}'
se envía tal cual. En cambio, intente:(Salga de la cita de apertura antes de realizar la sustitución del comando y luego vuelva a abrir una cita).
fuente
$()
contrario, las líneas de salida de base64 se dividirán en varios argumentos 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/