curl でファイルをアップロードする

フォームへのアップロード

Formで単数ファイル

<form action="/upload" method="post" enctype="multipart/form-data">
  <input type="file" name="upload_file">
  <input type="submit" value="送信">
</form>

上記の入力フォームに対しては、name = upload_file でファイルをつけて送るため、UPLOAD_FILE_NAMEは実際のファイル名になります。ファイル名が upload.png であれば -F upload_file=@upload.png という指定になります。

curl -X POST -i \
-F upload_file=@UPLOAD_FILE_NAME \
https://URL/upload

Formで複数ファイル

複数のファイルを送信する入力フォームです。

<form action="/upload" method="post" enctype="multipart/form-data">
  <input type="file" name="upload_file1">
  <input type="file" name="upload_file2">
  <input type="submit" value="送信">
</form>

複数ファイルの場合は、-F オプションを必要なだけ指定します。

curl -X POST -i \
-F upload_file1=@UPLOAD_FILE_NAME_1 \
-F upload_file2=@UPLOAD_FILE_NAME_2 \
https://URL/upload