Apidog

オールインワンのAPI開発プラットフォーム

API設計

API仕様書生成

APIデバッグ

API Mock

APIテスト自動化

無料登録
Home / 操作ガイド / multipart/form-dataで画像やPDFなどのファイルを送る

multipart/form-dataで画像やPDFなどのファイルを送る

multipart/form-dataは通常、フォームデータをサーバー送信するために利用されます。本文では、multipart/form-dataで画像やPDFファイルをAPIサーバーに送信する方法を皆さんに紹介したいと思います。

multipart/form-dataは通常、フォームデータをサーバー送信するために利用されます。ただし、API送受信の中で、multipart/form-dataの各フィールドのContent-Typeを定義することも可能なので、必要に応じて、multipart/form-dataを利用してファイルを送ることもできます。本文では、使用例として、multipart/form-dataで画像やPDFファイルをAPIサーバーに送信する方法を皆さんに紹介したいと思います。

💡
Apidogは便利なAPI管理ツールで、直感的なUIで、form-dataの各フィールドのデータタイプを簡単に選択することができ、multipart/form-dataでのファイルアップロード作業を最も簡単に実現する方法だと言えます。
button

multipart/form-dataとは

multipart/form-dataは、フォームデータを送信するときに使われる、HTTPリクエストのContent-Typeです。主にファイルアップロードの際に使用されます。

通常のフォームデータ送信では、application/x-www-form-urlencoded が使われますが、これはテキストデータのみを扱えます。一方、multipart/form-data はテキストデータに加えてファイルデータも送信できるため、ファイルアップロードに適しています。

multipart/form-dataとは、これを利用してデータを送信する
multipart/form-dataは通常、クライアントとサーバーとの間、フォームデータを送信するために利用されることが多くなります。本文では、multipart/form-dataというContent-Typeを紹介した上、multipart/form-dataを利用してデータを送信する方法を皆さんに紹介します。

ファイルアップロードはmultipart/form-dataかBinary?

APIでファイルをアップロードする際、multipart/form-dataの他に、Binaryもよく利用されます。それでは、この2つの方式でファイルをアップロードするのは何の違いがあるのでしょうか?次は、この2つの方式の主な違いを皆さんに紹介します。

form-data

  • フォームデータとして送信するため、ファイル以外の情報も同時に送信できます。
  • エンコーディングが必要で、リクエストサイズが大きくなる可能性があります。
  • ブラウザからのアップロードに適しています。

Binary

  • ファイルデータのみを送信するため、単純で軽量です。
  • エンコーディングが不要で、リクエストサイズが小さくなります。
  • サーバー間のファイル転送などに適しています。

要約すると、form-dataはWebブラウザからのファイルアップロードに適しており、Binaryはサーバー間の効率的なファイル転送に適しています。使用用途によって適切な方式を選択することが重要です。

multipart/form-dataで画像やPDFをAPIサーバーに送る

それでは、API送受信の時に、multipart/form-dataで画像やPDFなどのファイルをAPIサーバーに送るには、どうしたらいいですか?次は、簡単に行える対策を皆さんに紹介していこうと思います。

Apidogでmultipart/form-dataを利用する

multipart/form-dataで画像やPDFなどのファイルをAPIサーバーに送信したい場合、Apidogという便利なAPI管理ツールを利用するのが一番簡単だと考えられています。Apidogを利用すると、APIリクエストを送信する時に、その直感的なUIを利用して、さまざまなリクエスト設定を行うことが可能です。

button

Apidogでmultipart/form-dataを利用して、画像やPDFをAPIサーバーに送る場合、次の画像のように、「Body」→「form-data」の順に選択すると、送信したいデータのタイプを簡単に「file」に指定し、画像やPDFファイルをアップロードしてリクエストを送信するのが簡単に実現できます。また、ファイル以外の情報を送信する必要がある場合で、フォームデータにパラメータを追加して、ファイルと同時に送信できます。

Apidogでmultipart/form-dataで画像やPDFを送信

cURLでmultipart/form-dataを利用して画像やPDFを送信

Apidog以外、cURLでも、multipart/form-dataを利用して画像やPDFなどのファイルをアップロードしてAPIサーバーに送信することもできます。

CURLでmultipart/form-dataでファイルをアップロードする例を示します。

  curl --location --request POST 'http://localhost:3000/upload' \
  --form 'file=@/path/to/file.jpg' \
  --form 'name=John Doe'

この例では、以下のことを行っています。

  • --location : リダイレクトに追従するよう指示
  • --request POST : POSTリクエストを送信
  • 'http://localhost:3000/upload' : リクエスト先のURL
  • --form 'file=@/path/to/file.jpg' : アップロードするファイルのパスを指定。@の後にファイルパスを付ける。
  • --form 'name=John Doe' : 追加のフォームフィールド。キーと値のペア。

こうして、cURLで--formオプションを指定することで、写真やPDFを含むファイルをアップロードして送信することができます。

まとめ

本記事では、APIでmultipart/form-dataを利用して画像やPDFなどのファイルをアップロードし、サーバーに送信する方法について説明しました。

Apidogは便利なAPI管理ツールで、直感的なUIからAPIリクエストを簡単に送信できます。multipart/form-dataでファイルアップロードする場合も、Apidogを使えば簡単に実現できます。Apidogの直感的なUIで、form-dataの各フィールドのデータタイプを簡単に選択することができ、multipart/form-dataでのファイルアップロード作業を最も簡単に実現する方法だと言えます。

APIの開発でファイルアップロードが必要な場合は、multipart/form-dataを適切に利用することで、効率的に画像やPDFなどのファイルをサーバーに送信できます。

Apidogのニュースレターを購読する

今すぐ購読すると、いつでもApidogから更新情報と最新観点を手に入れることができます。