Curlコマンドを使ってファイルをアップロードします。手軽で便利なので是非活用しましょう。
curl でファイルアップロード
curl -F name=value -F my_photo=@path_to_my_file http://example.com
構造はこんなかんじです。
curl -X POST -F ${フォームinput名}=@${path_to_my_file} http://example.com
-X POST は指定しなくても、curl でファイルアップロード指定したら POST になります。
GETで送るなんて無茶もできる。
curl -X GET -F ${フォームinput名}=@${path_to_my_file http://example.com}
MIME-Typeはマルチパートになる。multipart/form-datanなので、ファイルのタイプを指定しようとしたら次にようになる。
ファイルの種類を指定したアップロード
curl -X POST -F ${フォームinput名}=@${path_to_my_file}:type=video/mp4 http://example.com
これで mime-type を指定したアップロード
強引なMIMEタイプを指定した結果がこちら。
オプションについての説明
-F で送信するフィールド名と値を指定する。 @ マークでファイルを指定すると、multipart/form-data で送信される。
簡単ですね!!!
-F は複数重ね書きします。
curl -F name=value -F name=value \ -F name=value \ -F name=@path_to_file \ -F my_photo=@path_to_my_file \ http://example.com
PUX用に、multipart/form-dataで送信するクライアント書くと、ruby の動きが変だったので、CURLでアクセスしました。
2019-05-25
記述内容をおおきく更新
参考資料
man curl