$ cat <binary_file> | curl --data-binary @- <url>
curl
でPOSTリクエストを送る際のオプション-d
(--data)は--data-ascii
という扱い。その他にも--data-binary
や--data-urlencode
といったオプションが指定できる。
引数が@
で始まる場合、残りの文字列はファイル名を指すことになり、それが-
の場合は標準入力から読み込む、ということになる。従って--data @-
は標準入力から読んだデータを使ってPOSTする、ということになる。