답변:
@muru는 정확하지만 baseson 데이터를 json 인코딩 으로 보내려고 하면 명령 줄에 비해 너무 커서 다음과 같은 것을 선호 할 수 있습니다.
(echo -n '{"image": "'; base64 ~/Pictures/1.jpg; echo '"}') |
curl -H "Content-Type: application/json" -d @- http://some/url/
에 -X POST
의해 암시됩니다 -d
.
배쉬는 작은 따옴표로 확장되지 않습니다. '{"image" : $( base64 ~/Pictures/1.jpg )}'
있는 그대로 전송됩니다. 대신 다음을 시도하십시오.
'{"image" : "'"$( base64 ~/Pictures/1.jpg)"'"}'
(명령 대체를 수행하기 전에 여는 따옴표를 종료 한 다음 다시 따옴표를여십시오.)
$()
몇 가지 컬 인수에 base64로 출력 선이 분할 될 것입니다 다른 사람을.
$ curl -d "name=Avatar&username=avatar&password=A1234567&email=avatar@user.com&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/